【发布时间】:2017-11-24 20:37:48
【问题描述】:
我有一个大约 500 个 csv 文件的列表,每个文件的文件名由一个六位数字和一个年份组成(例如 123456_2015.csv)。我想将所有具有相同六位数字的文件附加在一起。我试图实现这个问题中建议的代码: Import and rbind multiple csv files with common name in R 但我希望将附加数据保存为与当前保存原始文件相同的目录中的新 csv 文件。我也尝试实现以下代码,但是由此生成的 csv 文件不包含数据。
rm(list=ls())
filenames <- list.files(path = "C:/Users/smithma/Desktop/PM25_test")
NAPS_ID <- gsub('.+?\\([0-9]{5,6}?)\\_.+?$', '\\1', filenames)
Unique_NAPS_ID <- unique(NAPS_ID)
n <- length(Unique_NAPS_ID)
for(j in 1:n){
curr_NAPS_ID <- as.character(Unique_NAPS_ID[j])
NAPS_ID_pattern <- paste(".+?\\_(", curr_NAPS_ID,"+?)\\_.+?$", sep = "" )
NAPS_filenames <- list.files(path = "C:/Users/smithma/Desktop/PM25_test", pattern = NAPS_ID_pattern)
write.csv(do.call("rbind", lapply(NAPS_filenames, read.csv, header = TRUE)),file = paste("C:/Users/smithma/Desktop/PM25_test/MERGED", "MERGED_", Unique_NAPS_ID[j], ".csv", sep = ""), row.names=FALSE)
}
任何帮助将不胜感激。
【问题讨论】: