У меня есть следующий общедоступный набор данных на FTP. Я хочу загрузить из нее всю папку HistoricalOffers. После загрузки всей папки я хочу использовать только файлы в каждой папке, которая начинается с формата «DA-ENERGY-OFFERS- <12 цифр> .csv». Ниже приведен код, который я использовал, но не смог получить желаемый результат.
library(curl)
library(tidyverse)
library(data.table)
library(zoo)
link = "ftp://pubftp.spp.org/Markets/HistoricalOffers/"
handle = new_handle(dirlistonly=TRUE)
conn = curl(link, "r", handle)
tbl = read.table(v, stringsAsFactors = TRUE, fill=TRUE)
close(v)
tbl
Это отображение файлов в R, но я хочу загрузить всю папку «HistorialOffers» для будущего использования, а затем извлечь файлы с именами в указанном выше формате. Я взял ссылку на этот вопрос здесь .
Я знаю, что для получения файлов с именами, имеющими определенный формат, мне нужно использовать регулярное выражение, для которого я безуспешно пытался -
filenames = list.files(path="ftp://pubftp.spp.org/Markets/HistoricalOffers/2014", pattern="^[DA-OR-OFFERS-]/d.csv", recursive = TRUE, full.names = TRUE)
content.list <- lapply( filenames, function(x) fread( x, sep = "\n", header = FALSE )[grepl( pattern, V1 )] )
Я получаю эту ошибку при запуске приведенного выше кода для применения регулярных выражений -
Error in list.files(path = "ftp://pubftp.spp.org/Markets/HistoricalOffers/2014", : invalid 'pattern' regular expression
Я также попытался обратиться к некоторым чит-листам в Интернете, но не смог понять, как будет выглядеть правильный шаблон. Любая помощь по этому вопросу будет принята с благодарностью. Заранее спасибо!
Ссылка на набор данных - данные
Дополнительная информация - некоторые примеры имен файлов => DA-ENERGY-OFFERS-201403010100.csv, DA-ENERGY-OFFERS-201403020100.csv, DA-ENERGY-OFFERS-201403030100.csv