【问题标题】:Trying to write sequentially named CSV files in r尝试在 r 中写入顺序命名的 CSV 文件
【发布时间】:2021-08-20 04:33:19
【问题描述】:

抱歉,这可能是一个非常基本的问题。我编写了一个分析冠状动脉旁路移植物流量的 R 代码。我将有大约 2000 个需要分析的独特测量值。我打算用一个数字保存每个测量值,以提供 2000 个单独的 CSV 文件 (1:2000)。

我正在尝试自动执行此命名过程,而不是单独更改文件名。我完全坚持这一点,我试图从之前提出的关于将大数据帧分解为多个较小的、按顺序命名的 .csv 文件的问题进行推断的尝试没有成功。

例如

list<-list.files("file path")

lapply(seq_along(list), function(i) 
  write.csv(list[[i]], file=paste0(i, '.csv'), row.names=FALSE))

如果有人能够提供指导,我将非常感激,因为我认为这应该很容易解决!

非常感谢,

坎贝尔

【问题讨论】:

    标签: r csv


    【解决方案1】:

    使用list.files 读取文件名,从文件名中提取数字并选择最大数字。将数字加 1 并写入下一个文件。

    filenames <- list.files("file path")
    num <- max(readr::parse_number(basename(filenames)))
    write.csv(data, paste0(num + 1, '.csv'), row.names = FALSE)
    

    【讨论】:

    • 我想我的描述可能不太清楚。我还没有进行测量,所以重命名文件并不是我想要的。我正在尝试将我的 R 代码的输出“写入”到新的 CSV 文件中。在进行每次新测量时,我希望将文件命名为先前制作的文件中序列中的下一个数字。
    • 所以您想读取系统中的当前文件,查看最后写入的文件并写入一个新文件并增加数字?
    • 绝对正确,非常感谢您的理解。也为我之前糟糕的解释道歉
    • 文件是如何命名的?他们是否命名为1.csv、2.csv` 等?你能测试我编辑的答案,看看它是否适合你?
    • 嗨 Ronak,这些文件确实是 1.csv、2.csv 等。我试过你的代码,它运行良好,但你的代码文件 (2.csv) 被保存到旧工作目录(绝对不是我当前的 wd,也不是之前包含的“文件路径”。将一小行代码放入如下:filenames
    猜你喜欢
    • 1970-01-01
    • 2018-01-13
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 2018-05-22
    • 2021-07-01
    相关资源
    最近更新 更多