欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

利用R语言解压与压缩.tar.gz.zip等格式文件

程序员文章站 2022-03-10 13:28:12
目录.zip.tar.gz.gz 与 .bz21) 直接解压2) 直接读取参考最近尝试用 r 对一些文件进行批量的解压与压缩,这里记录一些常用的解压与压缩的方法。由于解压与压缩是对称的两种方法,这里我...

最近尝试用 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语言解压与压缩文件的资料请关注其它相关文章!