使用R语言过滤文件数据是很普遍的操作,但有时我们会遇到比较大的文件,这类文件无法全部读入内存处理,需要采用分批读取、分批过滤、拼合结果的办法来解决。下面用一个例子来说明R实现大文件数据过滤的方法。
有个1G的文件sales.txt,存储着大量订单记录,请过滤出AMOUNT字段值在2000和3000之间的记录。该文件的列分割符为“\t”,前几行数据如下:
R语言解决方案
con <- file("E:\\sales.txt", "r")
readLines(con,n=1)
result=read.table(con,nrows=100000,sep="\t")
result<-r
readLines(con,n=1)
result=read.table(con,nrows=100000,sep="\t")
result<-r