从目录中的 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 中的新目录