2

我有一个文件夹“TEST AIS Florent/test Division/division2014/testexport/testloop”,里面有 4 个 csv 文件:testexport_1;测试导出_2;testexport_3 和 testexport_4。

我想过滤每个文件并将它们导出到不同的 csv:一个用于 testexport_1,另一个用于 testexport_2,等等。

现在,我的脚本是

rm(list = ls())
setwd("D:/TEST AIS Florent/test division/division2014/testexport/testloop")
fileList <- list.files(pattern="testexport_.*\\.csv", recursive=TRUE)
#lenghtlist<-as.numeric(length(fileList))

for (file in fileList) {

data2014<-read.table(file, header=F, fill=T, quote="\"", na.strings=c(""," ", "null", "NA"), sep=",") 

#########filtering the data here

write.csv(data2014,   file = "data.csv",sep = ";", quote= F, col.names=T, row.names=F)
} 

问题是当我在我的工作目录中写入 csv 时,R 只创建一个输出文件 data.csv 并且一遍又一遍地写入这个文件。

我想要 testexport_1 --> 输出 data_1 和 testexport_2 --> 输出 data_2 等。

谢谢!

4

1 回答 1

4

通过将字符串的主要部分替换为“数据”来动态构建文件字符串。

...
write.csv(data2014,   file = gsub("testexport", "data", file),sep = ";", quote= F, col.names=T, row.names=F)
...
于 2015-06-03T12:55:57.177 回答