我有一个 150MB 的单页 excel 文件,使用以下命令在非常强大的机器上打开大约需要 7 分钟:
# using python
import xlrd
wb = xlrd.open_workbook(file)
sh = wb.sheet_by_index(0)
有什么方法可以更快地打开excel文件?我愿意接受甚至非常古怪的建议(例如 hadoop、spark、c、java 等)。理想情况下,如果这不是白日梦,我正在寻找一种在 30 秒内打开文件的方法。此外,上面的示例使用的是 python,但它不一定是 python。
注意:这是来自客户的 Excel 文件。在我们收到之前,它不能转换成任何其他格式。这不是我们的档案
更新: 回答一个可以在 30 秒内打开以下 200MB excel 文件的工作示例将获得赏金: https ://drive.google.com/file/d/0B_CXvCTOo7_2VW9id2VXRWZrbzQ/view?usp=sharing。这个文件应该有字符串(col 1)、日期(col 9)和数字(col 11)。
原文由 David542 发布,翻译遵循 CC BY-SA 4.0 许可协议
好吧,如果您的 excel 将像您的示例( https://drive.google.com/file/d/0B_CXvCTOo7_2UVZxbnpRaEVnaFk/view?usp=sharing )一样简单,您可以尝试将文件打开为一个 zip 文件并直接读取每个 xml:
英特尔 i5 4460、12 GB RAM、SSD 三星 EVO PRO。
如果你有很多内存 ram: 这段代码需要很多内存,但需要 20~25 秒。 (你需要参数-Xmx7g)
旧答案(不需要参数 Xms7g,因此占用更少的内存): 使用 HDD 打开和读取示例文件大约需要 35 秒(200MB),使用 SDD 需要更少(30 秒)。
这里的代码: https ://github.com/csaki/OpenSimpleExcelFast.git