pandas阅读excel:不要parsing数字
我正在使用Pythonpandas和MS Excel编辑一个xlsx文件。 我在这些程序之间来回迭代。 该文件包含一些文字看起来像数字的列,例如,
如果我读了这个,我明白了
pd.read_excel ('test.xlsx') A 0 1 1 100
和
pd.read_excel ('test.xlsx').dtypes A int64 dtype: object
我的问题是:如何才能将文本读取为文本? 阅读后不能parsing它,因为部分信息(即前导零)在转换为数字时会丢失。
感谢您的帮助。
根据这个问题 ,这是大pandas的一个已知的问题。
您可以使用“转换器”参数解决已知问题 (假定您知道列名称):
>>> 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
如果你能够将文件转换为CSV,dtype = str应该工作。
pd.read_csv('test.csv', dtype=str)
资料来源: https : //pandas.pydata.org/pandas-docs/stable/generated/pandas.read_excel.html