我有一堆.csv.bz2
文件,我必须在R中下载,提取和读取。我下载了文件并希望将其解压缩到当前工作目录,然后阅读它。 unz(filename,filename.csv)
但似乎没有用。我怎样才能做到这一点?
我听说某个地方可以直接读取bzfiles而不解压缩。我怎样才能做到这一点?
您可以使用以下两个命令中的任何一个:
read.csv()
command:使用此命令可以直接提供包含csv文件的压缩文件名。
read.csv("file.csv.bz2")
read.table()
命令:此命令是read.csv()
命令的通用版本。您可以设置read.csv()
自动设置的分隔符和其他选项。您无需单独解压缩文件。此命令会自动为您完成。
read.csv("file.csv.bz2", header = TRUE, sep = ",", quote = "\"",...)
像这样:
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}。
根据read.table描述,人们可以直接阅读a compressed file。
read.table("file.csv.bz2")