宝宝已惊呆,说不出话来,该选哪种方法读取Excel表格里的数据,我相信大众的眼睛是雪亮的:
1.实验规模16.3989万行,22列
实验电脑配置环境,说好了不能瞧不起博主啊哈
> nrow(read.csv("g:/001.csv"))[1] 163989> ncol(read.csv("g:/001.csv"))[1] 22
2.将Excel数据另存为.csv格式文件
方法一:耗时0.073,不到1秒
# library(data.table)> system.time(fread("g:/001.csv",sep = ",",header = TRUE,,colClasses = c("character")))用户 系统 流逝 0.72 0.00 0.73
方法二:耗时5.39,不到6秒
# 系统自带软件包函数> system.time(read.table("g:/001.csv",sep = ",",header = TRUE,colClasses = c("character"),fill = TRUE))用户 系统 流逝 5.26 0.06 5.39
方法三:耗时8.01,8秒多一丁点
# 系统自带软件包函数> system.time(read.csv("g:/001.csv"))用户 系统 流逝 7.87 0.09 8.01
方法四:耗时33.54,接近34秒
# library(openxlsx)> system.time(read.xlsx("g:/001.xlsx"))用户 系统 流逝 31.37 1.59 33.54
方法五:耗时1066.58,差不多18分钟
# library(readxl)> t=Sys.time()> system.time(read_excel("g:/001.xlsx"))用户 系统 流逝 9.24 5.35 1066.58 > Sys.time()-tTime difference of 17.86959 mins
方法六:自己实验好了
# 用的是xlsx扩展包,但需要配置Java环境,百度很多教程,就不说了,挺麻烦的,可恶的是执行n久之后提示“Out Of Memory”,内存溢出
方法七:使用RODBC扩展包,但该扩展包目前只支持32位的R
# 最后,你懂得!