我需要从互联网上下载一个压缩的csv文件,将其解压并以data.frame形式加载到内存中。有没有一种方法可以在仅使用内存的情况下完成整个过程,而不必读写磁盘?以下是我尝试过的:
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()
函数。 - Forrest R. Stevens