当我使用readr::read_csv读取包含尾随定界符的CSV文件时,会收到警告,提示您填写了缺少的列名。这是简短的示例CSV文件的内容,用于重现此警告(将以下代码段存储在名为example.csv的文件中):

A,B,C,
2,1,1,
14,22,5,
9,-4,8,
17,9,-3,

请注意每行末尾的逗号。现在,如果我用
read_csv("example.csv")

我收到以下警告:
Missing column names filled in: 'X4'

即使我只想显式地加载3列
read_csv("example.csv", col_types=cols_only(A=col_integer(),
                                            B=col_integer(),
                                            C=col_integer()))

我仍然收到警告消息。

这是预期的行为,还是有某种方法可以告诉read_csv它应该忽略除我指定的列以外的所有列?还是有另一种方法来整理此(显然格式错误的)CSV,以便删除/忽略尾部定界符?

最佳答案

我不认为你可以。从文档中可以看到,cols_only()用于已加载的R对象。

但是,通过fread()库中的data.table函数,您可以在读取文件时选择特定的列名:
DT <- fread("filename.csv", select = c("colA","colB"))

关于r - 忽略readr::read_csv中的尾随定界符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41280289/

10-12 17:41