【问题标题】:Merge all files using R in a directory while removing the headers and more使用 R 合并目录中的所有文件,同时删除标题等
【发布时间】:2016-04-21 01:35:36
【问题描述】:

我需要将多个 .csv 文件合并在一起,同时从每个文件中删除标题行,但 R Studio 中的第一个文件除外。所有文件都有相同的列数,我只需要合并每个文件中的所有行。

但是,这是复杂的部分,或者我认为是这样。生成此数据的方式是,每个文件都位于其自己的文件夹中。因此,如果我有 100 个文件,那么我有 100 个单独的文件夹,其中的每个文件夹都是一个文件。文件夹按每天命名,文件也按每天命名。文件名称中唯一更改的部分是日期。例如,我将有一个名为“20160420”的文件夹,其中的文件名为“20160420_file”。下一个文件将命名为“20160419”,其中的文件名为“20160419_file”。等等。每个文件都有一个标题行,下面是每分钟一天的数据。

机器每天都会归档数据。我们有 100 多台机器,每台机器在过去 8 年里一直在生产这些文件。所以你可以想象有多少文件,如果我手动执行此操作需要多长时间。

如何在 R Studio 中编写 R 代码以将所有这些文件组合到一个文件中并删除重复的标题行?任何想法或帮助将不胜感激。

【问题讨论】:

标签: r csv rbind


【解决方案1】:

您可以将list.files()dir() 与参数full.names = TRUErecursive = TRUE 一起使用,以获取包含来自多个目录的路径的文件名向量。

files <- dir(path = "c:/", pattern = "csv", full.names = TRUE, recursive = TRUE)

然后您可以使用某种循环来处理文件,例如

require(plyr)
allData <- ldply(as.list(files), read.csv)

【讨论】:

    猜你喜欢
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 2014-06-03
    • 2013-03-16
    • 2010-11-05
    • 2018-06-13
    • 2011-09-22
    相关资源
    最近更新 更多