最近尝试用 R 对一些文件进行批量的解压与压缩,这里记录一些常用的解压与压缩的方法。

由于解压与压缩是对称的两种方法,这里我们着重以对文件的解压为例,分不同的格式进行讲解。

.zip

压缩:zip()

解压:unzip()

若要压缩文件,就直接在 zip() 函数的第一个参数里面输入压缩后的文件名,第二个参数输入压缩前的文件名。

而解压文件就更简单了,直接利用 unzip() 里面加上需要解压的文件名称即可。

.tar.gz

压缩:tar()

解压:untar()

.zip 后缀的压缩文件。

.gz 与 .bz2

这两个压缩文件与前面的相比,是最与众不同的,因为这两种后缀的文件,可以称之为压缩文件,也可以直接作为一个数据文件,当成 data frame 直接进行读取。因为其本身就是数据文件。

下面我们以 解压 / 读取 进行详细说明:

1) 直接解压

R 中默认没有解压相关文件的函数,需要使用一个包:R.utils,然后如下述代码所示,利用 gunzip() 函数,即可解压。

library(R.utils)
gunzip("file.gz", remove = `TRUE`)
bunzip2("file.bz2", remove = `TRUE`)

注意是这个函数里面多了一个 remove = 参数,选择 TRUE 就会只保留解压后的文件,原压缩包会被删除,默认就是 TRUE

解压之后,我们可以直接用 read.table() 对其进行读取。

2) 直接读取

当然,如果我们的目的只是读取其中的数据,而不是一定需要解压,则可以使用两个默认函数组合的形式,直接对数据进行读取:

dat <- read.table(gzfile("file.gz"))  

而针对 2.10 版本之后的 R,还有另一种更方便的读取方式,就是直接使用 read.table() 对其进行读取。

dat <- read.table("file.gz")

参考

Decompress gz file using R

untar: Extract Or List Tar Archives

以上就是利用R语言解压与压缩.tar.gz.zip等格式文件的详细内容,更多关于R语言解压与压缩文件的资料请关注本站其它相关文章!

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部