我需要将任意大的XLSX文件转换为TSV。该文件为700MB,以下方法失败:
我已经解压缩了XLSX文件并且打印了工作表XML,但是对于数据来说,这不是一个明显的任务。
什么是转换这种野兽的可用解决方案?
(Macbook Air,4GB RAM,20gb磁盘可用)
答案 0 :(得分:0)
我可以问你为什么需要把它转换成TSV吗?是否能够更容易地解析它?
尝试grep the worsheet XML确实不会起作用,因为数据可以分割到不同的XML文件中(并且对一个非常大的文件进行grepping不是很有效)。
如果您的文件只包含基本文本(没有图表,函数......),您可以尝试Spout:https://github.com/box/spout。一个700MB的文件可能需要花费很长时间(如小时)来处理,但至少它不会失去记忆。 然后问题是如果你想在Excel或类似的东西中打开这个700MB的文件,你可能最终崩溃Excel,因为该文件需要太多的内存才能加载......
答案 1 :(得分:0)
以下是解决方案:
以下是一些无法正常工作的尝试,因为它们:缺少可用的文档,内存不足(在没有其他运行的4GB系统上),冻结和/或产生无法使用的输出: