【问题标题】:python read exel file error beginning zeros errorpython读取excel文件错误开始零错误
【发布时间】:2017-01-27 08:06:43
【问题描述】:

我有一个 Excel 文件“test.xls”文件,我可以读取如下:

    df=  pd.read_excel('test.xls',sep='\t',header=1)

我检查了 df,发现有一列 zip_code 包含 00051、00123 之类的邮政编码,但是在系统读取 excel 文件时,第一个 0 被切断了。

所以该列将是 51、123。我如何在读取文件时保持第一个零不变。谢谢。 找到了我在下面发布的解决方案。

【问题讨论】:

  • 它将文本转换为整数,检查是否可以在 read_excel 中声明列中的数据类型。或者使用字符串格式化将整数转换为带有前导零的字符串。
  • 使用字典设置所考虑列的dtype
  • 既然 OP 在链接的问题中找到了答案,这应该作为Python pandas: how to specify data types when reading an Excel file?的副本关闭
  • 除了通过阅读之前的评论 (Tony),没有任何迹象表明与 pandas 库有关。我建议添加标签。

标签: python


【解决方案1】:

在这里找到答案:

Python pandas: how to specify data types when reading an Excel file?:

您只需指定转换器。我创建了以下结构的 excel 电子表格:

    names   ages
    bob     05
    tom     4
    suzy    3

“年龄”列被格式化为字符串。加载:

将熊猫导入为 pd

   df =      pd.read_excel('Book1.xlsx',sheetname='Sheet1',header=0,converters={'names':str,'ages':str})
 df
      names ages
  0   bob   05
  1   tom   4
  2   suzy  3

谢谢@tnknepp

【讨论】:

  • 我试过上面的转换器,但还是有问题。我检查了原始 Excel 文件,邮政编码以邮政编码格式存储。我终于找到了解决方法:stackoverflow.com/questions/33137686/… df['zipcode'] = df['zipcode'].astype(str).str.zfill(5)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-29
  • 2019-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多