【发布时间】:2015-10-26 08:02:01
【问题描述】:
我想知道从存档文件(在我的情况下为 zip 存档)读取 data.table 的推荐方法是什么。一个明显的选择是将其解压缩到一个临时文件,然后像往常一样fread() 它。我不想费心创建新文件,所以我使用来自unz() 连接的read.table(),然后使用data.table() 进行转换:
mydt <- data.table(read.table(unz(myzipfilename, myfilename)))
这工作正常,但read.table() 对于大文件很慢,而fread() 无法直接读取unz() 连接。我想知道是否有更好的解决方案。
【问题讨论】:
-
您可以看看
readr包(Hadley Wickham 的一个)中的read_file函数。我发现它比基本 R 读取解压缩文件更快,并且文档表明它可以读取压缩文件。
标签: r data.table