美文网首页 生物信息学分析
R 逐行读取文件内容

R 逐行读取文件内容

作者: JeremyL | 来源:发表于2019-04-30 23:32 被阅读11次
    R

    R 处理文件时,一般情况都是直接读取整个文件生成一个数据框保留数据信息。当文件过大或者不需要导入整个文件时,可以一行一行的读入数据及处理。

    readLines()函数

    从连接中读取部分或全部文本行

    readLines(con = stdin(), n = -1L, ok = TRUE, warn = TRUE,
              encoding = "unknown", skipNul = FALSE)
    #con: 连接对象或字符串
    #n: 整数,一次读取的行数;设为复数表示读取整个数据;不设置时,默认读取整个文件
    #ok: 逻辑值;设置ok=F, 读到连接对象最后返回error
    
    • 例子

    创建数据

    > test<-matrix(sample(1:200,50),nrow=10)
    > test
          [,1] [,2] [,3] [,4] [,5]
     [1,]  146  166  148  139   60
     [2,]  192  177  180  121   31
     [3,]   56   93  188  186    3
     [4,]   78   42  163   37   54
     [5,]  123   44    1   16  130
     [6,]    4   58  138   45   39
     [7,]   30  197   77   32   57
     [8,]  185    9   65   59  140
     [9,]   79  155  110   95  108
    [10,]   14   99   47   64   17
    > write.table(test, file = "test.txt",col.names = F,row.names = F,quote = F)
    

    逐行读入数据处理

    > demo=file("test.txt",open="r")
    > n=1
    > while ( TRUE ) {
      line = readLines(demo, n = 1)
      if ( length(line) == 0 ) {
        break
      }
      cat(n,line,"\n")
      n=n+1
    }
    
    1 170 179 144 110 43 
    2 35 54 148 77 76 
    3 116 165 89 36 186 
    4 70 152 122 62 7 
    5 96 34 145 142 198 
    6 108 124 200 97 42 
    7 82 171 15 106 130 
    8 55 20 48 52 16 
    9 169 107 195 129 190 
    10 71 25 173 112 13 
    
    > close(demo)
    

    相关文章

      网友评论

        本文标题:R 逐行读取文件内容

        本文链接:https://www.haomeiwen.com/subject/gbnbnqtx.html