CSV на дисковый фрейм с несколькими CSV

Я получаю эту ошибку при попытке импортировать CSV с помощью этого кода:

some.df = csv_to_disk.frame(list.files("some/path"))

Ошибка в split_every_nlines(name_in = normalizePath(file, mustWork = TRUE),: Ожидается одно строковое значение: [type=character; sizes =3].

У меня есть временное решение с циклом for, который повторяется по каждому из файлов, а затем я объединяю все фреймы диска вместе.

Я вытащил код из документа о приеме данных

1 ответ

Решение

Кажется, это ошибка, вызванная bigreadrпакет. Интересно, есть ли у вас способ воспроизвести куски.

Или, может быть, попробуйте другой читатель фрагментов,

csv_to_disk.frame(..., chunk_reader ="data.table") 

Кроме того, если все не удается (поскольку чтение CSV затруднено), чтение их в цикле, а затем добавление также будет работать.

Возможно, вам нужно указать только чтение CSV? нравиться

list.files("some/path", pattern=".csv", full.names=TRUE)

В остальном нормально работает,

library(disk.frame)

tmp = tempdir()

sapply(1:10, function(x) {
  data.table::fwrite(nycflights13::flights, file.path(tmp, sprintf("tmp%s.csv", x)))
})


library(disk.frame)
setup_disk.frame()
some.df = csv_to_disk.frame(list.files(tmp, pattern = "*.csv", full.names = TRUE))

Другие вопросы по тегам