我经常从产生非标准 Excel 格式的源接收数据,该格式无法被readxl::read_excel
. 这是github问题线程。因此,我有一个完整的目录树,其中包含数百个(几乎)Excel 文件,我想将这些文件读入 R 并与plyr::ldply
这些文件结合起来。但是,可以通过XLConnect::loadWorkbook
. 但不幸的是,即使为 Java 虚拟机分配了大量内存,它也总是在读取几个文件后崩溃。我尝试将这三行添加到我的导入函数中:
options(java.parameters = "-Xmx16g")
detach("package:XLConnect", unload = TRUE)
library(XLConnect)
xlcFreeMemory()
但是,我仍然得到:
错误:OutOfMemoryError (Java):Java 堆空间
我需要做的就是将它们重新保存在 Excel 中,然后它们从readxl::read_excel
. 我希望我也可以批量重新保存它们,XLConnect
然后在 using 中读取它们readxl::read_excel
。不幸的是,使用 Linux,我不能只编写 Excel 脚本来重新保存它们。有没有人有另一种解决方法?