Сопоставить частичное имя файла с полным именем файла

У меня есть список файлов с именем следующим образом

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)
})
Другие вопросы по тегам