pandas阅读excel:不解析数字

时间:2014-07-01 11:04:21

标签: python excel pandas

我正在使用python pandas和MS excel来编辑xlsx文件。我来回迭代这些程序。该文件包含一些文本看起来像数字的列,例如,

enter image description here

如果我读了这篇文章,我会

pd.read_excel ('test.xlsx')
     A
0    1
1  100

pd.read_excel ('test.xlsx').dtypes
A    int64
dtype: object

我的问题是:如何将文本作为文本阅读?读取后解析它不是一个选项,因为部分信息(即前导零)在转换为数字时会丢失。

感谢您的帮助。

3 个答案:

答案 0 :(得分:13)

您可以使用'converters'参数解决known issue(假设您知道列名称):

>>> pd.read_excel('test.xlsx', converters={'A': str})
     A
0  001
1  100
>>> pd.read_excel('test.xlsx', converters={'A': str}).dtypes
A    object
dtype: object

答案 1 :(得分:3)

根据this issue,这是一个已知的熊猫问题。

答案 2 :(得分:1)

如果您能够将文件转换为CSV,则dtype = str应该有效。

pd.read_csv('test.csv', dtype=str)

来源: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_excel.html