我有一堆.csv.bz2
文件,我必須下載,解壓並在R中讀取。 我下載了該文件,並且想將其解壓縮到當前工作目錄,然後讀取它。 unz(filename,filename.csv)
但它似乎沒有工作。我怎樣才能做到這一點?在R中提取bz2文件
我聽說有些地方可以直接讀取bzfiles而不需要解壓。我怎樣才能做到這一點?
我有一堆.csv.bz2
文件,我必須下載,解壓並在R中讀取。 我下載了該文件,並且想將其解壓縮到當前工作目錄,然後讀取它。 unz(filename,filename.csv)
但它似乎沒有工作。我怎樣才能做到這一點?在R中提取bz2文件
我聽說有些地方可以直接讀取bzfiles而不需要解壓。我怎樣才能做到這一點?
您可以使用任何的這兩個命令:
read.csv()
命令:使用此命令,您可以直接提供包含csv文件的壓縮文件名。
read.csv("file.csv.bz2")
read.table()
命令:該命令是read.csv()
命令的通用版本。您可以設置分隔符和read.csv()
自動設置的其他選項。您不需要單獨解壓縮文件。這個命令自動爲你做。
read.csv("file.csv.bz2", header = TRUE, sep = ",", quote = "\"",...)
根據read.table的描述,可以直接讀取a compressed file。
read.table("file.csv.bz2")
像這樣:
readcsvbz2file <- read.csv(bzfile("file.csv.bz2"))
在的Linux系統,您可以使用超快速fread
require(data.table)
fread(sprintf("bzcat %s | tr -d '\\000'", "file.csv.bz2"))
基本上,你需要輸入:
library(R.utils)
bunzip2("dataset.csv.bz2", "dataset.csv", remove = FALSE, skip = TRUE)
dataset <- read.csv("dataset.csv")
查看文檔在這裏:bunzip2 {R.utils}。
'bzfile()'不是必需的','read.csv()'可以自動處理壓縮文件。所以它只是'read.csv(「file.csv.bz2」)'。 [這裏是一個例子](http://rpubs.com/Noseshine/77486)(第一部分「加載數據」)。 – 2015-04-27 07:15:03