Сопоставить частичное имя файла с полным именем файла
У меня есть список файлов с именем следующим образом
csv_files<-list.files(path, pattern =‘.csv’)
1001_2017_01_02#19_30_24.csv 1002_2018_03_01#20_30_54.csv...
Формат по сути: id _year_month_day#hour_min_sec.csv.
Я чередовал идентификатор и дату из имени файла для сортировки с использованием функции neardate. В конце концов у меня есть фрейм данных, содержащий префикс 1001_2017_01_02, а не полное имя файла. По сути, я хочу сопоставить частичное имя файла из конечного фрейма данных с полным именем файла, а затем скопировать соответствующие файлы по новому пути.
Любые комментарии будут полезны, спасибо.
1 ответ
Решение
Приведенный ниже код не проверен, так как у меня нет этих файлов на диске, и у меня нет нового пути.
Я бы сделал что-то вроде
csv_files <- c("1001_2017_01_02#19_30_24.csv", "1002_2018_03_01#20_30_54.csv")
dat <- data.frame(prefix = c("1001_2017_01_02", "1002_2018_03_01"))
lapply(dat$prefix, function(x) {
fl <- csv_files[grep(x, csv_files)]
file.copy(from = fl, to = newpath)
})