Rbind файлы с именами файлов / шаблонов, включенных в столбец исходного файла, используя R - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь привязать тысячи файлов, которые находятся в столбце исходного файла. Ниже приведены имена файлов, которые мне нужно связать:
_1.csv, __1.csv, ___ 1.csv, _2.csv., 3.csv, _3.csv et c.

Исходный файл выглядит так:

enter image description here

Поскольку имя файла содержит «1», город, которому принадлежат эти CSV-файлы, находится в городе А.

Таким образом Мой желаемый вывод - создать новый файл с именем A.csv с содержимым rbind _1.csv, __1.csv, ___ 1.csv и _2.csv. Другой способ - создать новый файл B.csv, содержащий содержимое rbind всех имен файлов с «3» (3.csv и _3.csv).

Я имею дело с большими данными, таким образом, тысячи файлов.

1 Ответ

0 голосов
/ 31 марта 2020

Это не было проверено, но может помочь

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")
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...