read.xlsx需要很长时间和大量内存
我正在尝试将一个.xlsx文件加载到R中,该文件只有一张纸,大小约为31MB 我运行以下命令read.xlsx需要很长时间和大量内存,r,macos,memory,rjava,r-xlsx,R,Macos,Memory,Rjava,R Xlsx,我正在尝试将一个.xlsx文件加载到R中,该文件只有一张纸,大小约为31MB 我运行以下命令 options( java.parameters = "-Xmx6g" ) require(xlsx) yt = read.xlsx("big_spreadsheet.xlsx",1) 我什么也得不到。我的系统监视器程序显示分配的内存慢慢填满,然后一直保持满。我已经几个小时没有让它运行了,但是十分钟应该足够了,特别是当我可以加载到数字中(我在Mavericks上)并将它保存为CSV时 是的,我有超过6
options( java.parameters = "-Xmx6g" )
require(xlsx)
yt = read.xlsx("big_spreadsheet.xlsx",1)
我什么也得不到。我的系统监视器程序显示分配的内存慢慢填满,然后一直保持满。我已经几个小时没有让它运行了,但是十分钟应该足够了,特别是当我可以加载到数字中(我在Mavericks上)并将它保存为CSV时
是的,我有超过6GB的内存。2 GB似乎不够,会产生以下错误:
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, :
java.lang.OutOfMemoryError: Java heap space
但是,我犯了一个错误,让rJava
包安装自己的Java版本。我在事后下载了JDK 8,但我不知道如何检查是否正在使用它
那么,为什么加载一个31MB的文件需要6GB的RAM(失败)?我能解决这个问题吗?我从来没让它工作过。我最近一直在使用该软件包从Excel电子表格中读取数据,它没有Java依赖性,而且似乎工作得很好。我从来没有让它工作过。我最近一直在使用该软件包从Excel电子表格中读取数据,该软件包没有Java依赖性,似乎工作正常。是的,请使用readxl软件包,因为xlsx软件包需要花费大量时间加载Java,而且在读取仅为2mb大小的文件时,很可能会返回错误 它的使用非常简单,只需编写
read_excel("path")
是的,请使用readxl包,因为xlsx包需要花费大量时间加载的java,而且在读取仅为2mb大小的文件时,很可能会返回错误 它的使用非常简单,只需编写
read_excel("path")
对xlsx的R支持非常可怕。除非您有很好的理由直接读取xlsx,否则在Excel中将文件重新保存为.csv/等效文件会更容易、更快、更高效。我以前遇到过这个问题,并使用Excel ODBC驱动程序使用了
RODBC
。您是否尝试过XLconnect库而不是xlsx?我在这方面有很好的经验。对xlsx的R支持非常可怕。除非您有很好的理由直接读取xlsx,否则在Excel中将文件重新保存为.csv/等效文件会更容易、更快、更高效。我以前遇到过这个问题,并使用Excel ODBC驱动程序使用了RODBC
。您是否尝试过XLconnect库而不是xlsx?我在这方面有很好的经验。