使用 read_csv 导入大型 csv 文件时丢失数据列

Loosing column of data when importing large csv file with read_csv

我正在使用 read_csv() 导入一个包含 2400 万行的 2.2GB csv 文件。其中一列(重要 sign_date_time)是一个字符变量,未被读取并且仅导入 NA 值。

我已经在 SQLServer 中打开了 .csv 文件,可以确认文件中有数据。我在 macOS 终端中将大文件分解为更小的块。当我再次使用 read_csv() 导入较小的文件时,数据也存在。

我正在使用 RStudio 中的导入对话框来最大程度地减少任何键入错误。在对话框的数据视图部分,它仅显示相关列中的 NA 数据,并试图将该列导入为逻辑字段。我试过手动将其更改为字符类型,但它仍然只读取 NA 值。

对话框截图如下:

对可能发生的事情有什么想法吗?

谢谢。

保重, 杰夫

我最近也被类似的问题坑过,所以这是根据那次经历的猜测。

默认情况下,如果一列的前 1000 个条目是 NAreadr::read_csv 将自动将该列的所有值设置为 NA。您可以通过设置 guess_max 参数来控制它。这是文档:

guess_max: Maximum number of records to use for guessing column types.

例如,

library(readr)
dat <- read_csv("file.csv", guess_max=100000)