【问题标题】:Rename dates files with R用 R 重命名日期文件
【发布时间】:2020-08-05 09:39:39
【问题描述】:

我已将 2012 年至 2016 年间每一天的每个文件命名为:2012-01-01.csv; 2012-01-02.csv... 直到 2016-12-31.csv。但对于 2017 年和 2018 年,文件的名称如下:20170101.csv; 20170102.csv...有人可以帮我在第二个文件中包含连字符,以便它们与第一个文件具有相同的名称吗?

谢谢!

【问题讨论】:

    标签: r file date rename


    【解决方案1】:

    编辑:改用这个

    setwd("C:\\Users\\...Path to your data")
    
    DataFileNames <- list.files(pattern="\\.csv$")
    sub("(\\d{4})(\\d{2})(\\d{2})(.*)","\\1-\\2-\\3\\4",DataFileNames)
    file.rename(DataFileNames,NewDataFileNames)
    

    旧答案:

    您的问题缺少很多信息,但您应该 能够调整下面的代码以满足您的需求。大多数情况下,您将 如果您有标题并调整其他标题,则需要编辑 read.csv 行 参数。

    注意:这将覆盖您的所有表格,因此请确保在您之前使用lapply 中的read.csv 正确导入数据 运行write.csv(最后一行)

    setwd("C:\\Users\\...Path to your data")
    
    DataFileNames <- list.files(pattern="\\.csv$")
    Datafiles <- lapply(DataFileNames, read.csv, header=FALSE)
    
    DataFileNames <- sub("(\\d{4})(\\d{2})(\\d{2}).csv","\\1-\\2-\\3",DataFileNames)
    lapply(1:length(Datafiles), function(x) write.csv(Datafiles[x], DataFileNames[x]))
    

    【讨论】:

    • 嗨!太感谢了!它很有用并且名称已更改,但文件现在不是 .csv。我正在使用 MacOS,现在文件显示为 exec 文件。
    • @AlejandroBernal list.files(pattern="\\.csv$") 只是在寻找扩展名为 .csv 的文件,如果您愿意,可以将其更改为 .exec,就像我在回答中所说的那样。你甚至可以使用list.files() 来获取文件夹中的所有文件。我已经编辑了gsub 行,以确保它使用与文件已有的扩展名相同的扩展名。
    • 我的意思是,这些文件最初是 .csv,我想将它们保留为 .csv,以便以后可以使用它们,但是当我应用您的代码时,它们已更改为 exec。
    • 看来在我编辑之前我忘记在重命名中包含.csv 扩展名。如果您的文件夹中没有其他文件,您可以使用与上述相同的代码来解决此问题。通过获取文件夹DataFileNames &lt;- list.files() 中的所有文件,然后使用NewDataFileNames &lt;- sub("(.*)","\\1.csv",DataFileNames) 添加csv 扩展名,最后使用file.rename(DataFileNames,NewDataFileNames) 重命名它们。很抱歉这个错误。
    • 不客气,如果对您有帮助,请考虑接受我的回答。再一次,很抱歉混淆了,但我们最终修复了它;)
    【解决方案2】:

    也许你可以试试下面的代码list.files + file.rename

    old <- list.files(pattern = ".*.csv")
    new <- paste0(as.Date(gsub(".csv","",old,fixed = TRUE),format = c("%Y-%m-%d","%Y%m%d")),".csv")
    file.rename(old,new)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-06
      • 2019-09-09
      • 2021-07-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-14
      • 2020-10-13
      相关资源
      最近更新 更多