Я ищу для загрузки gsipped csv и загружать его как объект R, не сохраняя его сначала на диск. Я могу сделать это с помощью zip-файлов, но не могу заставить его работать с gzfile
или gzcon
.Прочтите gzipped csv прямо с URL-адреса в R
Пример:
grabRemote <- function() {
temp <- tempfile()
download.file("http://dumps.wikimedia.org/other/articlefeedback/aa_combined-20110321.csv.gz", temp)
aap.file <- read.csv(gzfile(temp), as.is = TRUE)
unlink(temp)
return(aap.file)
}
Это загружает (маленький) ГЗ сжатый файл, содержащий Wikipedia article feedback data (не имеет значения, а просто указать это не гигант или отвратительной).
Код У меня все работает нормально, но я чувствую, что мне не хватает чего-то очень очевидного, прибегая к созданию и уничтожению временного файла.
Да, я почти 70% уверен, что вы или JD ответили на что-то подобное. На самом деле я получил идею tempfile из предыдущего вашего ответа относительно zipped-папок. Но я не могу найти что-то w/gzfile/gzcon, которые, похоже, ведут себя иначе, чем некоторые другие функции, связанные с файлом или соединением. –
Можете ли вы дистиллировать это? Я фактически использовал тот же трюк «потоковой передачи» из файла gzip еще в начале 1990-х годов, когда дисковое пространство было скуднее, и я сохранил результаты моделирования gzip'ed. Таким образом, способность прозрачно получить функциональность «gunzip» в F-библиотеке библиотеки C довольно старая школа и стандарт. –
Я покажу это как ответ. Я мог бы вернуться и дать лучший ответ после некоторого обмана вокруг w/gzcon (что кажется более перспективным углом). –