我想知道是否有人知道从"大"xlsx文件(~20Mb)导入数据的方法.我尝试使用xlsx和XLConnect库.不幸的是,两者都使用rJava,我总是得到同样的错误:
> library(XLConnect)
> wb <- loadWorkbook("MyBigFile.xlsx")
Error: OutOfMemoryError (Java): Java heap space
Run Code Online (Sandbox Code Playgroud)
要么
> library(xlsx)
> mydata <- read.xlsx2(file="MyBigFile.xlsx")
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, :
java.lang.OutOfMemoryError: Java heap space
Run Code Online (Sandbox Code Playgroud)
我还尝试在加载rJava之前修改java.parameters:
> options( java.parameters = "-Xmx2500m")
> library(xlsx) # load rJava
> mydata <- read.xlsx2(file="MyBigFile.xlsx")
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, :
java.lang.OutOfMemoryError: Java heap space
Run Code Online (Sandbox Code Playgroud)
或者在加载rJava之后(我认为这有点愚蠢):
> library(xlsx) # load rJava
> options( java.parameters = "-Xmx2500m")
> mydata <- read.xlsx2(file="MyBigFile.xlsx")
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, :
java.lang.OutOfMemoryError: …Run Code Online (Sandbox Code Playgroud)