将 > 500 MB xlsx 高效读取到 R 和 Python [关闭]

Posted

技术标签:

【中文标题】将 > 500 MB xlsx 高效读取到 R 和 Python [关闭]【英文标题】:Efficienty reading > 500 MB xlsx into R and Python [closed] 【发布时间】:2019-04-27 08:21:09 【问题描述】:

RPython 对我来说一切正常。但是,我无法读取> 500 MB xlsx 将三张纸放入RPython。想知道将较大尺寸的xlsx 读入RPython 的有效方法是什么。谢谢

【问题讨论】:

【参考方案1】:

我不确定这是否能解决您的问题,但您可以尝试 openpyxl 优化模式。 openpyxl.

【讨论】:

【参考方案2】:

试试 xlsxopenxlsx

这应该是读取数据的最快方式。

xlsx::read.xlsx2("myfile.xlsx", sheetName = "Sheet1") 

避免内存问题的最佳方法就是不使用这种数据格式。 R 中最有效的数据格式是压缩格式,例如 .Rdata.RDS

saveRDS(file, "myfile.RDS")

大小和速度会有很大差异:-)

【讨论】:

它抛出错误:Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, : java.lang.OutOfMemoryError: Java heap space. 任何想法,请。 options(java.parameters = "-Xmx8000m") 将此设置为代码中的全局选项。如果这仍然不起作用,请尝试openxlsx,因为我假设它是用 C++ 编写的。

以上是关于将 > 500 MB xlsx 高效读取到 R 和 Python [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

当我读取 500MB FileStream 时出现 OutOfMemoryException

高效地将大型 Pandas 数据帧读取到磁盘

通过 Apache POI 读取大型 Excel 文件 (xlsx) 时出错

通过 SpreadSheetGear 将 .xlsx 读取到 dto

无法将 xlsx.file 读取到数据框 Pandas

powershell 这是一个脚本,将模板大小从默认的50mb增加到500MB,用于sharePoint