我想用pandas(python)阅读很多excel文件。导入数据时,我希望所有列都存储为字符串。
问题是我不知道列的数目,甚至不知道它们的名称(每次都会改变)。对于这个问题你有一个简单的解决办法吗?
我想做的是:

converters = { i : str for i in range(0,99)}
df = pd.read_excel('example.xlsx', converters = converters)

但由于excel文件不同,索引有时会超出范围。
理想情况下,我想:
df = pd.read_excel('example.xlsx', converters = ALL)

不过,到目前为止,我还没有找到能帮助我做类似事情的东西…
谢谢你的帮助。

最佳答案

更新:我认为我们可以使用标准(对于pandas)xlrd模块,然后重用它从excel文件读取数据

xl = pd.ExcelFile(fn)
ncols = xl.book.sheet_by_index(0).ncols
df = xl.parse(0, converters={i : str for i in range(ncols)})

旧答案:
我想你应该先得到列数:
from openpyxl import load_workbook

workbook = load_workbook(filename, use_iterators=True)
col_num = workbook.worksheets[0].max_column

converters = { i : str for i in range(col_num)}
...

09-03 18:43