利用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")
参考
untar: extract or list tar archives
以上就是利用r语言解压与压缩.tar.gz.zip等格式文件的详细内容,更多关于r语言解压与压缩文件的资料请关注其它相关文章!