【发布时间】:2013-01-23 03:04:27
【问题描述】:
我有非常大的数据库,我想将其写入 xlsx/xls 文件。我已经尝试使用 xlwt,但它只允许写入 65536 行(我的一些表有超过 72k 行)。我还发现了 openpyxl,但它的运行速度太慢,而且要为大型电子表格使用大量内存。还有其他写excel文件的可能吗?
编辑: 按照 kennym 的建议,我使用了 Optimized Reader and Writer。它现在消耗的内存更少,但仍然很耗时。现在导出需要一个多小时(对于非常大的表 - 最多 10^6 行)。还有其他可能吗?也许可以将整个表从 HDF5 数据库 文件导出到 excel,而不是 逐行 - 就像现在在我的代码?
【问题讨论】:
-
您可以尝试直接写入 .tsv/.csv,然后在 Excel 中打开它?
-
65536 曾经是 Excel 中的一个限制 - 我虽然仍然如此。您可以创建一个制表符分隔的文件,看看您的 Excel 是否会加载它。
-
我想知道这个问题是否没有更好的细分。比如说,遵循数据库结构的多个 excel 文件。我不确定是否需要拥有如此大的 xls 文件。
-
我无法使用 .csv,因为每个文件中都有多个工作表。根据65536行,在这种情况下问题不是excel,而是xlwt,它无法创建限制为2 ^ 20行的.xlsx文件。 @Ben:我现在没有其他的可能,必须是优秀的......
-
@PawełChomicki 我并不是说不要使用 excel,我只是想问是否可以将其拆分为多个 excel 文件。