R:从几个csv导入数据,包括file.info到每一行

时间:2017-06-28 12:23:26

标签: r function file data-binding import

我解析了几个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="")}))

然后我想知道如何介绍&#34;声明文件&#34;的每个相应文件的修改日期。到矩阵中绑定的行&#34; Claiming.files&#34;

即:

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 个答案:

答案 0 :(得分:1)

您可以为mtime添加一列,然后将其绑定到您输出的行 read.csv用这样的东西。

 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)
 }))