首页 > 解决方案 > 在 pandas xlsxwriter 中使用常量内存

问题描述

我试图使用下面的代码将大熊猫数据帧写入 excel 工作表,如果我直接编写它,系统内存不足,这是一个可行的选择还是有其他选择?

writer = pd.ExcelWriter('Python Output Analysis.xlsx', engine='xlsxwriter',options=dict(constant_memory=True))

标签: python-3.xexcelpandasoptimizationxlsxwriter

解决方案


XlsxWriterconstant_memory模式可用于写入非常大的 Excel 文件,且内存使用率低、恒定。问题是数据需要按行顺序写入,并且(正如@Stef 在上面的评论中指出的那样)Pandas 按列顺序写入 Excel。因此constant_memory模式不适用于 Pandas ExcelWriter。

作为替代方案,您可以避免使用 ExcelWriter 并将数据从数据框中逐行直接写入 XlsxWriter。但是,从 Pandas 的角度来看,这会慢一些。


推荐阅读