我正在尝试将xlsx中的文件导入Python Pandas数据帧。我想防止字段/列被解释为整数,从而丢失前导零或其他所需的异构格式。
因此,对于包含100列的Excel工作表,我将使用范围(99)的dict理解来执行以下操作。
import pandas as pd
filename = 'C:\DemoFile.xlsx'
fields = {col: str for col in range(99)}
df = pd.read_excel(filename, sheetname=0, converters=fields)
这些导入文件确实始终有不同数量的列,我希望处理这种情况的方式不同于手动更改范围。
是否有人有任何进一步的建议或替代方法,可以将Excel文件读入数据框,并默认将所有字段视为字符串?
非常感谢!
答案 0 :(得分:0)
试试这个:
xl = pd.ExcelFile(r'C:\DemoFile.xlsx')
ncols = xl.book.sheet_by_index(0).ncols
df = xl.parse(0, converters={i : str for i in range(ncols)})
<强>更新强>
In [261]: type(xl)
Out[261]: pandas.io.excel.ExcelFile
In [262]: type(xl.book)
Out[262]: xlrd.book.Book
答案 1 :(得分:-1)
通常的解决方案是: