将 > 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 【问题描述】:R
和 Python
对我来说一切正常。但是,我无法读取> 500 MB xlsx
将三张纸放入R
和Python
。想知道将较大尺寸的xlsx
读入R
和Python
的有效方法是什么。谢谢
【问题讨论】:
【参考方案1】:我不确定这是否能解决您的问题,但您可以尝试 openpyxl 优化模式。 openpyxl.
【讨论】:
【参考方案2】:试试 xlsx
和 openxlsx
包
这应该是读取数据的最快方式。
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
通过 Apache POI 读取大型 Excel 文件 (xlsx) 时出错