r语言 - 如何读取 .tar.xz 文件?



我在这里下载了Gwern Branwen数据集:https://www.gwern.net/DNM-archives

我正在尝试读取 R 中的数据集,但遇到了很多麻烦。我尝试打开数据集中一个名为"1776.tar.xz"的文件,我想我用untar(("解压缩"了它,但我没有得到任何东西。

untar("C:/User/user/Downloads/dnmarchives/1776.tar.xz",
files = NULL,
list = FALSE, exdir = ".",
compressed = "xz", extras = NULL, verbose = FALSE, restore_times = TRUE,
tar = Sys.getenv("TAR"))

编辑:感谢到目前为止的所有评论!代码位于基本 R 中。我有多个从 Gwern 的网站下载的数据集。我只是想打开一个来探索。

Base R 包含函数untar。在我的 Ubuntu 19.10 上运行 R 3.6.2,默认安装,以下内容就足够了。

fls <- list.files(pattern = "\.xz")
untar(fls[1], verbose = TRUE)

注意。
在问题中,"数据集"是单数,但该网站上有几个数据集(复数(。下载我使用的文件

args <- "--verbose rsync://78.46.86.149:873/dnmarchives/grams.tar.xz rsync://78.46.86.149:873/dnmarchives/grams-20150714-20160417.tar.xz ./"
cmd <- "rsync"
od <- getwd()
setwd('~/tmp')
system2(cmd, args)

谢谢大家!不确定 r 有什么问题,但我重新安装了。我最终手动解压缩并加载文件。

我发现基本R的untar()在Windows上有点不可靠和/或缓慢。

对我来说(在所有平台上(效果很好的是

library(archive)
archive_extract("C:/User/user/Downloads/dnmarchives/1776.tar.xz",
dir="C:/User/user/Downloads/dnmarchives")

它支持"tar","ZIP","7-zip","RAR","CAB","gzip","bzip2","compress","lzma"和"xz"格式。

人们也可以使用它直接在存档中的csv文件中读取,而无需先使用解压缩它

read_csv(archive_read("C:/User/user/Downloads/dnmarchives/1776.tar.xz", file = 1), col_types = cols()) 
  1. 在 Debian 或 Ubuntu 上,首先安装 xz-utils 软件包
$ sudo apt-get install xz-utils
    提取
  1. .tar.xz 的方式与提取任何tar.__文件的方式相同。
$ tar -xf file.tar.xz

做。

最新更新