【问题标题】:Extracting Date column from a csv file and aggregate rows according to date in different csv file从 csv 文件中提取日期列并根据不同 csv 文件中的日期聚合行
【发布时间】:2016-04-12 08:54:15
【问题描述】:

我需要一个 R 脚本来将日期列与 csv 文件分开,并将具有相同日期的行聚合到单独的日期文件中。

以下是我的 csv 文件的结构-

dat <- read.table(text = 
                    "2012-04-02 10:01:23.757,BALL,2012-04-20 00:00:00.000,0,0,0,4199,4180,10,4260,30
                  2012-04-02 10:01:23.763,GLOVES,2012-05-18 00:00:00.000,0,0,0,4369,4356,20,4424,10
                  2012-04-03 10:01:25.200,PAD,2012-04-20 00:00:00.000,0,0,0,4199,4190,10,4258,30
                  2012-04-03 10:01:26.360,WICKETS,2012-04-20 00:00:00.000,0,0,0,4199,4190,10,4255,20
                  2012-04-04 10:01:27.503,BELLS,2012-04-20 00:00:00.000,0,0,0,4199,4190,10,4255,30
                  2012-04-04 10:01:28.650,SHOES,2012-05-18 00:00:00.000,0,0,0,4369,4358,10,4424,10
                  2012-04-05 10:01:29.773,KITBAG,2012-04-20 00:00:00.000,0,0,0,4199,4190,10,4252,10
                  2012-04-05 10:01:29.777,HELMET,2012-05-18 00:00:00.000,0,0,0,4369,4359,20,4424,10", sep = ",")

这只是 csv 文件的一小部分。 我希望这个完整的文件根据日期分开。

前- 球和手套具有相同的日期,即 2012-04-02,因此它应该放在一个单独的文件下,即 20120402。

其他日期也是如此。

【问题讨论】:

    标签: r csv split


    【解决方案1】:

    您必须事先将您的日期转换为?POSIXct。因此,您可以根据相应的列选择行。

    dat$V1 <- as.POSIXct(dat$V1, format = "%Y-%m-%d %H:%M:%S")
    
    setwd("/your/desired/output/path")
    for (i in unique(format(dat$V1, "%Y-%m-%d"))){
      tmp <- dat[format(dat$V1, "%Y-%m-%d") == as.POSIXct(i, format = "%Y-%m-%d"),]
      write.table(data.frame(tmp), 
                  file = paste(format(as.POSIXct(i), "%Y%m%d"), ".csv", 
                  sep =""), sep = ",", 
                  col.names = F)
    }
    

    【讨论】:

    • 我什么都没听懂。
    • 您必须批准编辑,然后您才能使用该代码。 dat 是您的 csv 提取物。
    • 基本上我想要这样,从 csv 文件中提取所有唯一日期,并将唯一提取的日期作为一个单独的 csv 文件,并且所有具有相同日期的行都应该在一个日期文件下.
    • 你能在上面的代码中告诉我,你是如何分割日期并在单个 date.csv 文件下分隔具有相同日期的行的?
    • 代码的输出只是给出了NA.csv。当我写 cat NA.csv 它显示 - “tmp” “1” NA
    猜你喜欢
    • 1970-01-01
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 2020-03-26
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    • 1970-01-01
    相关资源
    最近更新 更多