pandas读取Excel:不解析数字
我正在使用Python的pandas库和Excel来编辑一个xlsx文件。我在这两个程序之间来回切换。这个文件里有一些列的内容看起来像数字,比如:
如果我读取这个文件,我得到的是
pd.read_excel ('test.xlsx')
A
0 1
1 100
还有
pd.read_excel ('test.xlsx').dtypes
A int64
dtype: object
我想问的是:怎么才能把这些文本当作文本来读取呢?因为在读取后再转换回去是不行的,因为这样会丢失一些信息(比如,前面的零会消失)。
谢谢你的帮助。
3 个回答
4
如果你能把文件转换成CSV格式,使用dtype=str应该没问题。
pd.read_csv('test.csv', dtype=str)
来源: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_excel.html
19
你可以通过使用 'converters' 参数来解决这个已知问题(假设你知道列的名称):
>>> 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
6
根据这个问题,这是pandas的一个已知问题。