Vas*_*y A 12 r data.table
我想知道data.table从存档文件中读取a的推荐方法是什么(在我的情况下是zip存档).一个显而易见的选择是将其解压缩到一个临时文件然后fread()像往常一样.我不想费心创建新的文件,所以不是我使用read.table()的unz()连接,然后用它转换data.table():
mydt <- data.table(read.table(unz(myzipfilename, myfilename)))
Run Code Online (Sandbox Code Playgroud)
这工作正常,但read.table()大文件速度慢,而fread()无法unz()直接读取连接.我想知道是否有更好的解决方案.
Mir*_*ert 13
看看:用fread读取Ziped CSV文件 为了避免使用tmp文件你可以使用解压缩-p提取文件来管道,没有消息
你可以使用fread这样的语句.
x = fread('unzip -p test/allRequests.csv.zip')
Run Code Online (Sandbox Code Playgroud)
或者用gunzip
x = fread('gunzip -cq test/allRequests.csv.gz')
Run Code Online (Sandbox Code Playgroud)
您也可以使用grep或其他工具.