有没有办法从tar.gz中读取一个包含许多数据集的CSV数据集?

And*_*ich 3 compression r dataset

可能重复:
在R中解压缩tar.gz文件?

我有一个tar.gz文件,其中包含一组CSV文件.如何只将一个文件读入R数据框?

Rei*_*son 5

如果您知道所需存档中文件的文件名,则可以指定将其解压缩,然后按常规读取.例如

untar("foo.tar.gz", files = "foo2.csv")
Run Code Online (Sandbox Code Playgroud)

将文件foo2.csv从存档中提取foo.tar.gz到当前的工作/本地目录中.然后,您可以按常规方式加载该CSV

read.csv("foo2.csv")
Run Code Online (Sandbox Code Playgroud)

如果您不知道文件名,请先列出它们:

> untar("foo.tar.gz", list = TRUE)
[1] "foo.csv"  "foo2.csv"
Run Code Online (Sandbox Code Playgroud)

然后提取你想要的那个.

  • 我知道这个问题没有问过它,但是`unzip()`与`.zip`文件的`untar()`做同样的事情. (4认同)