openpyxl:用python编写大型excel文件

时间:2014-01-24 09:25:09

标签: python excel openpyxl

我的python,openpyxl和Excel文件存在很大问题。我的目标是将一些计算数据写入Excel中的预配置模板。我加载此模板并在其上写入数据。有两个问题:

  1. 我说的是用超过两百万个单元格编写Excel书籍,分成几张。
  2. 我成功了,但等待的时间是不可想象的。
  3. 我不知道解决这个问题的其他方法。也许openpyxl不是解决方案。我曾尝试用xlsb编写,但我认为openpyxl不支持这种格式。我也尝试过优化的编写器和阅读器,但由于数据量很大,我在保存时会出现问题。但是,输出文件大小最多为10 MB。我非常坚持这一点。你知道是否还有其他办法吗?

    提前致谢。

1 个答案:

答案 0 :(得分:2)

文件大小在内存使用方面不是问题,而是内存中的单元格数量。您的用例确实会将openpyxl推向极限,此时此刻旨在支持 优化读取或优化写入,但不能同时支持两者。您可能尝试的一件事是使用openpyxl阅读use_iterators=True这将为您提供一个可以从xlsxwriter调用的生成器,它应该能够为您编写新文件。创建文件时,xlsxwriter目前明显快于openpyxl。解决方案并不完美,但它可能适合您。