我正在尝试阻止在源文件的一列中找到的数千个文件。我需要rbind的文件的文件名如下:_1.csv,__ 1.csv,___ 1.csv,_2.csv。,3.csv,_3.csv等。
源文件是这里:
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9DMlhNSS5qcGcifQ==” alt =“在此处输入图像描述”>
由于文件名包含“ 1”,因此这些csv文件所属的城市位于城市A。
因此,我想要的输出是创建一个名为A.csv的新文件。rbind内容为_1.csv,__ 1.csv,___ 1.csv和_2.csv。另一个方法是制作一个新的B.csv文件,其中包含所有文件名带有3的rbind内容(3.csv和_3.csv)。
我正在处理大数据,因此要处理数千个文件。
files <- list.files(pattern = "_.*csv")
write_to_csv <- function(x, y){
if(file.exists(y)){
write.csv(x, file=y, append = T, col.names = F, row.names = F)
} else
write.csv(x, file=y, row.names = F)
}
for(f in files){
x <- read.csv(f)
if(grepl("1|2", f)){
write_to_csv(x, "A.csv")
} else if(grepl("3", f)){
write_to_csv(x, "B.csv")
}
}