【问题标题】:Get name of file in read.csv same as in write.csv获取 read.csv 中与 write.csv 中相同的文件名
【发布时间】:2021-01-28 15:03:38
【问题描述】:

我想实现我 write.csv 的文件与我使用 read.csv2 的文件同名。见下文:我正在读取一个文件名“2005Calc.csv”并希望将其写为: “2005Calc28-01-2021.csv”。我怎样才能做到这一点?我在下面尝试了一些方法,它可以工作..只是我无法将 csv 文件名添加到它。

提前谢谢你。

    LKCalc <- read.csv2("2005Calc.csv")

    date<-format(Sys.time(), "%d-%m-%Y")

    csvFileName <- paste("FILENAME",date,".csv",sep="")

    write.csv(LKCalc, file=csvFileName) 

【问题讨论】:

  • 您可以将文件名存储在列表中,覆盖它们并从读取的文件名中导出写入文件名..

标签: r export-to-csv read.csv


【解决方案1】:

"FILENAME" 是文字字符串,而不是引用文件名的变量。怎么样(未经测试):

FILENAME <- "2005Calc"
LKCalc <- read.csv2(paste0(FILENAME,".csv"))
date <- format(Sys.time(), "%d-%m-%Y")
csvFileName <- paste0(FILENAME,date,".csv")
write.csv(LKCalc, file=csvFileName) 

【讨论】:

    【解决方案2】:

    函数list.files()(documentation) 将为您提供与给定pattern 匹配的所有文件的文件名(如果未提供,则为所有文件)。

    【讨论】:

      【解决方案3】:

      这是一个无需提供名称的解决方案:

      # Read in your data
      LKCalc <- read.csv2("C:/YOUR PATH.csv")
      
      # Create date character vector
      date<-format(Sys.time(), "%d-%m-%Y")
      
      # Pull names from the path you specify (this should be where your document(s) live)
      # If you have more than one .csv, you will need to iterate over names, or figure out a way to modify.
      # This is only to illustrate how this might be done
      name <- list.files(path = "C:", pattern = ".csv")
      
      # Remove ".csv" from the name
      name <- sub(".csv$", "", name)
      
      # Create the file name
      csvFileName <- paste0(name,date,".csv")
      
      # Write out
      write.csv(LKCalc, file=csvFileName) 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-06
        • 2014-01-03
        相关资源
        最近更新 更多