使用 python 读取大型 xlsx 文件的一部分

Ade*_*del 5 python pandas

我有一个包含 100 万行的大型 .xlsx 文件。我不想一次性打开整个文件。我想知道是否可以读取文件的一部分,处理它,然后读取下一个块?(我更喜欢使用 pandas。)

Max*_*axU 3

更新: 2019-09-05

由于 XLSX 文件格式的性质,该chunksize参数已被弃用pd.read_excel(),因为 XLSX 文件格式在解析过程中将作为一个整体读入内存。

在这个很棒的答案中有更多关于这一点的细节......


旧答案:

您可以使用read_excel()方法:

chunksize = 10**5
for chunk in pd.read_excel(filename, chunksize=chunksize):
    # process `chunk` DF
Run Code Online (Sandbox Code Playgroud)

如果您的 Excel 文件有多个工作表,请查看bpachev 的解决方案

  • 我得到 pandas v0.19.2:`NotImplementedError:read_excel 的 chunksize 关键字未实现` (4认同)