R语言逐行读取并处理大文件

来源:互联网 发布:牛黄解毒片 知乎 编辑:程序博客网 时间:2024/06/22 23:56
 |

  用R语言作分析时,有时候需要逐行处理非常大文件,各种教材中推荐的read.table 和scan都是一次性读入内存,如果文件有好几个Gb大小,一般电脑肯定吃不消。其实R中可以逐行读取的行数,这里示例一个函数,作为备忘:

con <- file("e:/data.txt", "r")
line=readLines(con,n=1)
while( length(line) != 0 ) {
     print(line)
     line=readLines(con,n=1)
}
close(con)

如果需要将一行的文字劈成多段,再进行处理,可以用strsplit函数,除此之外,还有一些常用的字符串处理函数,记录如下:

substr(),nchar(), grep(), regexpr(), sub(), gsub()

原创粉丝点击