从目录中的 csv 列表创建文件

Posted

技术标签:

【中文标题】从目录中的 csv 列表创建文件【英文标题】:Creating files from a list of csv in a directory 【发布时间】:2015-08-17 16:28:47 【问题描述】:

我有文件夹“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, 等等

谢谢!

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于从目录中的 csv 列表创建文件的主要内容,如果未能解决你的问题,请参考以下文章

如何创建具有从 csv 文件中的列表收集的唯一名称值的类的多个对象

从 CSV/TXT 创建文件夹并将匹配列移动到 Powershell 或 Batch 中的新目录

从 csv 文件创建元组列表

为文件夹中的每个文件创建文件夹,并使用 cmd 或批处理从 CSV 命名文件夹

如何从多个 .csv 文件中的命名列中选择唯一值?

使用 Python 列表中的值创建一个 .csv 文件