【问题标题】:R; Rbind Excel files from a List of vectors of files in RR;从 R 中的文件向量列表中 Rbind Excel 文件
【发布时间】:2019-05-07 11:14:23
【问题描述】:

我已将 ~1000 个 Excel 文件从网络上抓取到我计算机上的特定文件夹中 然后我阅读了这些文件,其中返回了 chr [1:1049] 的值 然后我按相似的名称对这些文件进行分组,每 6 个文件属于一个组 这返回了 175 个列表,其中包含 6 个文件名组的值。

我对如何运行一个循环来合并/绑定该列表中每个组的 6 个文件名感到困惑。我还需要删除第一行,但我知道如何使用 read.xlsx 完成该部分

到目前为止我的代码是

setwd("C:\\Users\\ewarren\\OneDrive\\Documents\\Reservoir Storage")
files <- list.files()
file_groups <- split(files, ceiling(seq_along(files)/6))

for (i in file_groups) {
    print(i) 
}

返回每组文件名

这些文件例如是: files

它们分别由两列组成,日期和金额 我需要为每个水库名称添加三分之一 这样,当所有文件中的所有行组合在一起时,就会有一个日期、一个数量和一个存储库。如果我在没有水库的情况下一次完成所有操作,我将不知道哪些行属于哪些行。

【问题讨论】:

  • 到目前为止你试过这个代码吗?您没有对“具有相似名称的文件”进行分组,您只是假设它们已被分组读取。您还缺少一个文件,175 * 5 = 1050。您是要合并还是 rbind?它们不是一回事。
  • 我看不出这与上面的链接有何相似甚至重复。
  • 是的。到目前为止,这部分代码正在运行。我在组中有正确的文件名。问题是有 3 个组只有 3 个,所以它搞砸了,但我现在已经解决了这个问题。我需要对每个组进行 rbind,然后添加一个新列作为每一行的存储库名称,然后将所有这些组绑定到一个文件中是目标

标签: r excel merge


【解决方案1】:

您可以使用startRow = 2 不获取read.xlsx 中的第一行

用于合并文件组。如果您有标识符,例如x 在每个文件中与组中的其他文件匹配,但与其他组中的文件不匹配。

你已经列出了group1 &lt;- list.files(pattern = "x) 然后使用do.call(cbind, group1)

【讨论】:

    猜你喜欢
    • 2021-08-21
    • 2014-06-03
    • 2020-04-04
    • 1970-01-01
    • 1970-01-01
    • 2021-03-20
    • 2015-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多