利用R语言解压与压缩 .tar.gz .zip .gz .bz2 等文件--转载

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

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

.tar.gz
压缩:tar()
解压:untar()
同 .zip 后缀的压缩文件。

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

下面我们以 解压 / 读取 进行详细说明:
————————————————
版权声明:本文为CSDN博主「Kanny广小隶」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41929524/java/article/details/103738345

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

library(R.utils)
gunzip("file.gz", remove = `TRUE`)
bunzip2("file.bz2", remove = `TRUE`)
1
2
3
注意是这个函数里面多了一个 remove = 参数,选择 TRUE 就会只保留解压后的文件,原压缩包会被删除,默认就是 TRUE。

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

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

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

dat <- read.table("file.gz")
1
参考
Decompress gz file using R
untar: Extract Or List Tar Archives
————————————————
版权声明:本文为CSDN博主「Kanny广小隶」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41929524/java/article/details/103738345

posted @ 2020-03-30 17:09  nkwy2012  阅读(5140)  评论(0编辑  收藏  举报