首页 > 解决方案 > 在 Pandas 中 concat() 之后,新的 DF 缺少“00”

问题描述

我遇到了这个问题:

在网页抓取(bs4)之后,我现在有两个 Excel 文件:一切正常。当我 concat() 甚至只是附加熊猫时,我得到“Major-Excel”。不幸的是,在“EAN”列中,许多行在开头显示缺少“0”甚至“00”。例如:

Product 1: 36073...
Product 2:   883...
Product 3:  7370...

它应该是这样的:

Product 1: 36073...
Product 2: 00883...
Product 3: 07370...

此问题仅在 ean 以“0”或“00”开头时发生。此外,我还检查了我想要 concat() 的单个 Excel 文件:“0”也在那里,所以只有当我想将这两个文件放入 1 个文件时才会出现这个问题。

我实际上只是使用这个标准脚本:

d = pd.read_excel('one.xlsx')
d1 = pd.read_excel('two.xlsx')

three = pd.concat([d, d1])
three.to_excel('major.xlsx')

有人遇到过同样的问题吗?

谢谢和最好的问候!

标签: python-3.xpandas

解决方案


也许列类型默认为整数并删除前导 0。在连接之前将列声明为 varchar?

d = pd.read_excel('one.xlsx', converters={'EAN':str})

推荐阅读