利用R語言解壓與壓縮.tar.gz.zip等格式文件
最近嘗試用 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語言解壓與壓縮文件的資料請關註WalkonNet其它相關文章!