1

尝试使用以下代码导入 CSV 时出现此错误:

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

split_every_nlines 中的错误(name_in = normalizePath(file, mustWork = TRUE),:期望单个字符串值:[type=character;extent=3]。

我得到了一个带有 for 循环的临时解决方案,该循环遍历每个文件,然后将所有磁盘帧重新绑定在一起。

我从摄取数据文档中提取了代码

4

1 回答 1

2

这似乎是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))

于 2020-09-20T04:02:47.447 回答