迭代文件夹层次结构

时间:2013-02-27 13:18:32

标签: r

我有一个文件夹(my_files),里面有大约1000个文件夹。这1000个文件夹中的每一个都有6个csv文件。我希望通过聚合每个目录的6个csv来获得1000个csv文件。

我有以下代码:

files<-list.files("/Users/me/Desktop/my_files")
for (i in files)
{
         //open each directory in "files"
        //aggregate all csvs in the directory into one
       //name of the aggregated csvs should be the name of the folder they were inside of
}

我正在尝试使用类似的东西:

for (i in files)
{
    files2<-list.files("/Users/me/Desktop/my_files/"i)
}

列出my_files目录中的文件,但显然这是错误的语法。

1 个答案:

答案 0 :(得分:2)

我创建了一个名为my_files的文件夹,并使用folder1folder2folder3填充了该文件夹。每个文件夹都包含一个带有隐藏消息的file1.txt。让我们看一下这些消息的内容。匿名函数可以调整为读取所有文件并组合它们。我会告诉你这个任务。

# I've created a folder "my_files" that is...
setwd("q:/my_files")

# populated by three subfolders
thousand.folders <- list.dirs(full.names = TRUE)

result <- sapply(thousand.folders[-1], function(x) {
  file <- list.files(x, full.names = TRUE)  
  message(readLines(file))
})

file1 in folder1
file1 in folder2
file1 in folder3