【发布时间】:2014-10-02 18:16:08
【问题描述】:
我正在从包含有关供应商的行和列的 excel 文件(特别是 xlsx)中读取数据框,包括 zip_code 和 tax_id 列。当数字被读入,然后我转换列astype(unicode),tax_id 123456789 变为 123456789.0。
我不想转换为 int 然后 mod / truncate (因为,在 zip_code 和理论上 tax_id 的情况下,'07443' 将转换为 7443 这不好)。我只想剪辑“.0”并让 to_excel() 将整个列视为字符串(更具体地说是 unicodes)。
有时 read_excel() 会正确地将数字识别为字符串(实际上,07443 就是一个很好的例子)。但是,在 tax_id 的情况下,它显然是以某种形式出现的(即使在我键入(unicode)它之前,'.0' 不会出现。
我尝试过的一件事是df.astype(unicode).replace(".0",""),但这似乎并没有完成。结果 df 仍然显示 123456789.0。
我不知道如何用代码说明这一点,因为您需要一个 Excel 文件,我无法附加该文件。我愿意接受有关如何在必要时澄清我的问题的建议。
谢谢!
【问题讨论】:
标签: python excel pandas dataframe