【问题标题】:Extract bz2 file in R在R中提取bz2文件
【发布时间】:2014-11-14 22:12:51
【问题描述】:

我有一堆 .csv.bz2 文件,我必须在 R 中下载、提取和阅读这些文件。 我下载了文件并想将其解压缩到当前工作目录,然后阅读它。 unz(filename,filename.csv) 但它似乎不起作用。我该怎么做?

听说bzfiles不用解压就可以直接读取。我该怎么做?

【问题讨论】:

    标签: r bzip2


    【解决方案1】:

    根据read.table的描述,可以直接读取a compressed file

    read.table("file.csv.bz2")
    

    【讨论】:

      【解决方案2】:

      像这样:

      readcsvbz2file <- read.csv(bzfile("file.csv.bz2"))
      

      【讨论】:

      • bzfile()不是必须的,read.csv()可以自动处理压缩文件。所以它只是read.csv("file.csv.bz2")Here is an example(第一部分“加载数据”)。
      • bzipfile() 是一个更通用的解决方案,因为它对其他格式很有用。谢谢
      【解决方案3】:

      您可以使用内置支持 bz2 压缩文件的超快fread

      require(data.table)
      fread("file.csv.bz2")
      

      【讨论】:

        【解决方案4】:

        您可以使用以下两个命令中的任何一个:

        1. read.csv()command:使用此命令,您可以直接提供包含 csv 文件的压缩文件名。

          read.csv("file.csv.bz2")

        2. read.table() 命令:此命令是read.csv() 命令的通用版本。您可以设置分隔符和read.csv() 自动设置的其他选项。您不需要单独解压缩文件。此命令会自动为您执行。

          read.csv("file.csv.bz2", header = TRUE, sep = ",", quote = "\"",...)

        【讨论】:

          【解决方案5】:

          基本上,你需要输入:

          library(R.utils)
          bunzip2("dataset.csv.bz2", "dataset.csv", remove = FALSE, skip = TRUE)
          
          dataset <- read.csv("dataset.csv")
          

          在此处查看文档:bunzip2 {R.utils}

          【讨论】:

            猜你喜欢
            • 2015-06-19
            • 1970-01-01
            • 1970-01-01
            • 2015-08-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-06-23
            • 1970-01-01
            相关资源
            最近更新 更多