【发布时间】:2020-04-26 12:17:14
【问题描述】:
主要想法是我现在在本地机器上有两个文件夹/路径。在每个文件夹中,我有多个 csv 文件,我想将这些文件读入我的R。但是,我不想将它们全部附加到一个文件中,而是希望所有文件夹 1 文件都在文件 1 中,所有文件夹 2 文件都在文件 2 中。我只知道如何将它们全部附加在一起,但不知道如何将它们附加到两个单独的文件中。以下是我目前的代码。
dirs<-list("path/folder1","path/folder2")
data<-list()
for(dir in dirs){
##read in the list of files in each folder
flist<-list.files(path=dir,pattern = "\\.csv$")
## a second for loop to read thru what's inside each folder
for (file in flist){message("working on",file)
indata<-fread(paste0(dir,file))
data<-rbind(data,indata)}
}
到目前为止,我认为data 将所有内容保存在一个文件中。那么我该怎么做才能将它们保存到两个不同的文件中?
【问题讨论】:
-
你可以这样做:
sapply(dirs,function(p)write.csv(do.call(rbind,lapply(list.files(p,full.names = TRUE,pattern = 'csv$'), read.csv)),paste0(p,"/newfile.csv")))
标签: r