我在一台配备 4GB 内存和两个 3.16GHz 处理器的 Dell Optiplex 上运行着 Ubuntu 10.04。
我收到一个 35MB 的电子表格。5 分钟后,它在 Gnumeric 中打开时出现错误,即使我将“soffice”进程设为最高优先级(niceness = -20),它也无法在 Open Office 中打开(20 分钟后被终止)。
处理此类文件的最佳方法是什么?是否可以提取前几百行的子集,以便我可以找出解析整个文件所需的脚本?
更新:
命令行函数ssconvert BigFile.xlsx BigFile.csv
产生了与 Gnumeric 相同的错误(这并不奇怪,因为 Gnumeric 使用ssconvert
)
答案1
可能吧,但是你需要一些手动工作。
xslx 文件实际上是包含 XML 数据的 ZIP 文件。因此只需解压文件并查看内部内容即可。这种格式不是头脑清醒的人能轻易理解的,但应该可以打开工作表文件,查找元素Row
并删除前几百个之后的所有内容。
或者,您可以尝试使用以下方式打开文件Apache POI;只需为 Java 提供 1GB 的 RAM,它就可能工作。