代码之家  ›  专栏  ›  技术社区  ›  Álvaro Rodríguez

R: 从多个csv导入数据,包括文件。每行的信息

  •  1
  • Álvaro Rodríguez  · 技术社区  · 8 年前

    我正在解析几个csv文件(+30)。每个文件包含多张发票,代表一次索赔(此时索赔的所有发票)。

     Client.Code.       Invoice     Invoice.Date  Amount
       1:      1005500 21601000209   2016-01-31 5016.00
       2:      1005500 21602000630   2016-02-29 2239.52
       3:      1004773 21603000224   2016-03-31 3993.00 
       4:      1005500 21605000350   2016-05-31 9278.00
    

    date of creation (原始文件创建日期),因为它实际上指向操作的日期。

      Claiming.files<-list.files("/path/of/my/files/2017", pattern=".csv", 
      full.names=T, recursive=FALSE)
    
      Claiming.lines<-rbindlist(lapply(Claiming.files,function(x){read.csv(x, 
      header=1, sep=";", dec=",", na.strings="")}))
    

    然后,我想知道如何将“声明文件”的每个对应文件的修改日期引入绑定在矩阵“声明.文件”中的行

    x<-file.mtime(Claiming.files)
    
    [1] "2017-01-16 19:51:33 CET"  "2017-01-20 13:28:36 CET"  "2017-01-23 18:57:55 CET"  "2017-02-03 12:59:49 CET"  "2017-02-06 20:05:41 CET" 
    [6] "2017-02-15 14:13:56 CET"  "2017-02-20 18:05:32 CET"
    
    
    Claiming.lines
    
     Client.Code.       Invoice     Invoice.Date  Amount  **Claiming date**
       1:      1005500 21601000209   2016-01-31 5016.00    **16/01/2017**
       2:      1005500 21602000630   2016-02-29 2239.52    **12/03/2017**
       3:      1004773 21603000224   2016-03-31 3993.00    **15/04/2017**
       4:      1005500 21605000350   2016-05-31 9278.00    **19/06/2017**
    

    function() 为了绑定包括文件创建日期在内的文件?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Wyldsoul    8 年前

    您可以为mtime添加一列,然后将其绑定到

     Claiming.lines<-rbindlist(lapply(Claiming.files,function(x){
     lines <-  read.csv(x,header=1, sep=";", dec=",", na.strings="")
     mtime <-  file.info(x)$mtime
     data <-   cbind(lines, mtime)
     }))