我正在考虑是直接从 R 读取 excel 文件,还是应该先将它们转换为 csv。我研究了阅读excel的各种可能性。我还发现读取 excel 可能有其缺点,例如转换日期和数字列数据类型等。
XLConnect - 依赖于 java
read.xslx - 大型数据集速度慢
read.xslx2 - 速度快但需要使用 colClasses 命令来指定所需的列类
ODBC - 可能有转换问题
gdata - 依赖于 perl
我正在寻找一种对至少一百万行数据转换问题最少的解决方案来说足够快。有什么建议么??
编辑
所以最后我决定转换为 csv 然后读取 csv 文件,但现在我必须找出读取大型 csv 文件(至少 100 万行)的最佳方法
我发现了 read.csv.ffdf 包,但这并不能让我设置自己的 colClass。具体来说这个
setAs("character","myDate", function(from){ classFun(from) } )
colClasses =c("numeric", "character", "myDate", "numeric", "numeric", "myDate")
z<-read.csv.ffdf(file=pathCsv, colClasses=colClassesffdf)
这不起作用,我收到以下错误:-
ff 中的错误(initdata = initdata,长度 = 长度,级别 = 级别,有序 = 有序,:未实现 vmode 'list'
我也知道 RSQlite 和 ODBC 功能,但不想使用它。是否有解决上述错误的方法或解决此问题的任何其他方法?