我有一个文件夹(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目录中的文件,但显然这是错误的语法。
答案 0 :(得分:2)
我创建了一个名为my_files
的文件夹,并使用folder1
,folder2
和folder3
填充了该文件夹。每个文件夹都包含一个带有隐藏消息的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