用于创建可处理百万行的XLSX文档的Python(或C)库
我在找一个可以创建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的比较