我正在寻找将 .xlsx 文件作为数据帧块读取的方法,而不是将整个文件加载到内存中。当我
pd.read_excel(nrows, skiprows, usecols)
时到底会发生什么?不管怎样,整个文件都会加载到内存中吗?
如果是这样,我还有什么其他选择?我已经研究过 dask,但不太确定它是否适用于 excel 文件。
Excel 文件 .xlsx 是虚拟文件系统(压缩),并非旨在从中传输数据。您可以更改扩展名来检查它。基本上,.xlsx 是一个 zip 文件,里面有一堆 xml 文件,要打开它,您需要先解析整个电子表格 XML 文件,然后才能对其执行任何操作。最好的方法是将数据格式更改为 csv 或其他更快的格式。