Мне нужно загрузить zps-файл csv из Интернета, разархивировать его и загрузить в память как data.frame. Есть ли способ закончить весь процесс в памяти только без чтения/записи диска? Вот что я пробовал:Разархивировать необработанный файл в памяти в R
library(RCurl)
file <- getURL(url, userpwd='user:pwd')
tf <- tempfile()
writeBin(content(file, "raw"), tf)
tf <- unzip(tf, exdir=tempdir())
data <- read.csv(tf)
unlink(tf)
Я думаю writeBin
, unzip
и read.csv
здесь использовать дорогой диск I/O, но я не знаю, как улучшить его.
Я был бы очень удивлен, что латентность, связанная с записью и распаковкой файла, медленнее, чем первоначальная загрузка? Но вы можете попробовать функцию 'unz()'. –
@ ForrestR.Stevens, можете ли вы подробнее объяснить, как использовать функцию 'unz' для выполнения этой задачи? Для меня это не тривиально. – Bamqf