如何解决使用read_csv导入大型csv文件时,数据列丢失
我正在使用read_csv()导入一个具有2400万行的2.2GB CSV文件。列之一(重要sign_date_time)是一个字符变量,未被读取,仅使用NA值导入。
我已经在SQLServer中打开了.csv文件,可以确认文件中是否存在数据。我已将大型文件在macOS终端中分成较小的块。当我再次使用read_csv()导入较小的文件时,数据也存在。
我正在RStudio中使用导入对话框来最大程度地减少键入错误。在对话框的“数据视图”部分中,它仅在所讨论的列中显示NA数据,并正在尝试将该列作为逻辑字段导入。我尝试将其手动更改为字符类型,但它仍然仅读取NA值。
这是对话框的屏幕截图:
关于可能发生的事情的任何想法吗?
谢谢。
保重, 杰夫
解决方法
最近我也被类似的问题咬了,所以这是基于经验的猜测。
默认情况下,如果一列的前1000个条目为NA
,则readr::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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。