用于创建可处理百万行的XLSX文档的Python(或C)库

-1 投票
2 回答
748 浏览
提问于 2025-04-16 20:02

我在找一个可以创建XLSX文件的库,这种文件可以包含超过一百万行和几十列。目前我找到的所有Python库都消耗太多内存,而且我还没有找到一个合适的C语言库。我更倾向于开源的,这样如果需要的话我可以修改代码。

补充一下:我找到了解决方案。openpyxl有一个“优化写入器”:http://packages.python.org/openpyxl/optimized.html

2 个回答

0

XLSX格式其实就是一些XML文件被压缩在一起的结果。如果你输出的格式不会改变,那就很简单,可以用一个现有的文件作为模板,按需往里面添加行。不过,遗憾的是,ZipFile.writestr这个方法不支持分段写文件,所以你得先把整个XML写到一个临时文件里,然后再用ZipFile.write把这个临时文件放进压缩包里。

1

你试过用ElementTree吗?如果它占用的内存太多,可以试试SAX,这样可以一次处理一行数据。XML解析 - ElementTree与SAX和DOM的比较

撰写回答