0
我在用几个小时的不同代码进行实验后询问了帮助。我有一个文件夹,有五个子文件夹。每个子文件夹都有三个csv文件。我想要将这三个csv文件绑定到每个子文件夹中,并将结果输出到同一个子文件夹中,并对每个子文件夹执行相同的操作。因此,除了原始的15个csv文件外,我将在这五个子文件夹中有五个组合文件。我感谢您的帮助。我把下面的代码行放在一起,但没有成功绑定csv文件并输出结果在相同的子文件夹中并循环使用
#Folder containing sub-folders
parent.folder <- "path"
# Sub-folders
sub.folders <- list.dirs(parent.folder, recursive=TRUE)[-1]
# List files in all subfolders
files <- sapply(sub.folders, list.files, all.files = F, full.names = T, recursive=TRUE)
# Make a list of lists
mydata <- lapply(files, function(x) read.csv(x, header = T)[,14:17]) #list of lists, each has 4 variables
for (r in 1:length(mydata)){
fileatt <- paste("path","new_file",r,".csv",sep="")
write.table(mydata[r],fileatt, row.name=F, col.name=c("a","b","c","d"), quote=F,sep=",")
}
代码的伟大工程,非常感谢罗马Lustrik。我修改了一下,读取csv文件并使用cbind水平绑定它们。在使用cbind而不是rbind时,我有两个问题需要解决:(1)列名以文件路径名作为前缀; (2)仅从子文件夹中的每个文件导入某些列[,14:17]。再次感谢! – abenol