今天是个好日子,特地花时间看了R Data Import/Export,不仅萌生了导入各种不同的数据方式,看看哪个更适合自己的需要,仅仅算是娱乐吧!!!
文件不是特别大,先让他们走一波,细小的看一看,对比一波,再看大的数据集。
system.time(readLines('D:/R/data/Scorecard/mydata.txt'))
用户 系统 流逝
0.11 0.01 0.13
system.time(read.csv("D:/R/data/Scorecard/model_sample.csv"))
用户 系统 流逝
1.36 0.05 1.43
system.time(read.delim("D:/R/data/Scorecard/model_sample.csv"))
用户 系统 流逝
0.45 0.02 0.47
system.time(read.delim2("D:/R/data/Scorecard/model_sample.csv"))
用户 系统 流逝
0.51 0.00 0.52
library(readr)
system.time(read_delim("D:/R/data/Scorecard/model_sample.csv",delim = '\001'))
用户 系统 流逝
0.03 0.06 0.10
system.time(read_csv("D:/R/data/Scorecard/model_sample.csv"))
用户 系统 流逝
0.58 0.04 0.72
system.time(read_csv2("D:/R/data/Scorecard/model_sample.csv"))
用户 系统 流逝
0.04 0.02 0.05
system.time(read_table("D:/R/data/Scorecard/model_sample.csv"))
用户 系统 流逝
0.03 0.00 0.03
system.time(read_table2("D:/R/data/Scorecard/model_sample.csv"))
用户 系统 流逝
0.14 0.00 0.14
system.time(read.csv2("D:/R/data/Scorecard/model_sample.csv"))
用户 系统 流逝
0.42 0.00 0.42
发现read_csv2
和read_delim
比较强有力啊
library(readxl)
system.time(read_excel("D:/R/data/Scorecard/model_sample.xlsx"))
用户 系统 流逝
1.34 0.24 1.73
system.time(read_xlsx("D:/R/data/Scorecard/model_sample.xlsx"))
用户 系统 流逝
1.13 0.23 1.36
library(data.table)
system.time(fread("D:/R/data/Scorecard/model_sample.csv"))
用户 系统 流逝
0.24 0.00 0.27
data.table
这个包确实强啊,需要继续深凿。
读取excel数据确实很难受啊,怪不得大家都建议转成csv,或者tsv呢!!!
后面碰到了好点儿的,继续加餐!
其实啊,这个数据集也就124M,才拿到手不久。不过数据集里面就不好看了啊。
开始继续测试:
system.time(read.csv("D:/R/data/mydata.csv"))
用户 系统 流逝
30.71 0.20 31.79
system.time(read.delim("D:/R/data/mydata.csv"))
用户 系统 流逝
44.54 0.14 44.73
system.time(read.delim2("D:/R/data/mydata.csv"))
用户 系统 流逝
45.47 0.03 45.58
system.time(read_delim("D:/R/data/mydata.csv",delim = '\001'))
用户 系统 流逝
3.38 0.55 4.42
system.time(read.csv("D:/R/data/mydata.csv"))
用户 系统 流逝
28.75 0.14 28.94
system.time(read_csv("D:/R/data/mydata.csv"))
用户 系统 流逝
1.36 0.07 1.44
system.time(read_csv2("D:/R/data/mydata.csv"))
用户 系统 流逝
3.07 0.58 3.66
system.time(read_table("D:/R/data/mydata.csv"))
用户 系统 流逝
4.96 0.17 5.22
system.time(read_table2("D:/R/data/mydata.csv"))
用户 系统 流逝
10.71 0.19 10.93
system.time(read.csv2("D:/R/data/mydata.csv"))
用户 系统 流逝
44.56 0.17 44.80
system.time(fread("D:/R/data/mydata.csv"))
用户 系统 流逝
1.14 0.02 1.16
看来大数据集还得看fread
啊。罪过,一切都是罪过。