Подтвердить что ты не робот

Извлечь файл bz2 в R

У меня есть группа файлов .csv.bz2, которую я должен загружать, извлекать и читать в R. Я загрузил файл и хочу извлечь его в текущий рабочий каталог, а затем прочитал его. unz(filename,filename.csv), но он, похоже, не работает. Как я могу это сделать?

Я где-то слышал, что bzfiles можно читать напрямую без распаковки. Как я могу это сделать?

4b9b3361

Ответ 1

Вы можете использовать любую из этих двух команд:

  • read.csv() команда: с помощью этой команды вы можете напрямую предоставить сжатое имя файла, содержащее файл csv.

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

  • read.table() команда: эта команда является общей версией команды read.csv(). Вы можете установить параметры разделителей и другие параметры, которые read.csv() автоматически устанавливает. Вам не нужно распаковывать файл отдельно. Эта команда делает это автоматически для вас.

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

Ответ 2

Вот так:

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

Ответ 3

В системах Linux вы можете использовать супер быстрый fread

require(data.table)
fread(sprintf("bzcat %s | tr -d '\\000'", "file.csv.bz2"))

Ссылка: https://gist.github.com/wush978/93c0f96b68f529678e2d

Ответ 5

В принципе, вам нужно ввести:

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

dataset <- read.csv("dataset.csv")

Смотрите документацию здесь: bunzip2 {R.utils}.