当我使用
请注意每行末尾的逗号。现在,如果我使用以下方式加载这些数据
我收到了以下信息:
生成的数据框多了一个名为
即使我仅显式加载第一列的三个列,也会从数据源中检索所有列。
readr::read_csv()
读取包含尾随分隔符的 CSV 文件时,我会收到一个警告,说明已创建最后一列的新名称。以下是一个简短的示例文件内容,以展示我的意思:A,B,C,
2,1,1,
14,22,5,
9,-4,8,
17,9,-3,
请注意每行末尾的逗号。现在,如果我使用以下方式加载这些数据
readr::read_csv("A,B,C,\n2,1,1,\n14,22,5,\n9,-4,8,\n17,9,-3,")
我收到了以下信息:
New names:
• `` -> `...4`
生成的数据框多了一个名为
...4
的第四列,其中每行都是NA
值。# A tibble: 4 × 4
A B C ...4
<dbl> <dbl> <dbl> <lgl>
1 2 1 1 NA
2 14 22 5 NA
3 9 -4 8 NA
4 17 9 -3 NA
即使我仅显式加载第一列的三个列,也会从数据源中检索所有列。
read_csv(
"A,B,C,\n2,1,1,\n14,22,5,\n9,-4,8,\n17,9,-3,",
col_types=cols_only(
A=col_integer(),
B=col_integer(),
C=col_integer()
)
)
我仍然收到这个消息。
这是预期的行为吗?还是有一种方法可以告诉 readr :: read_csv()
只忽略我指定的列?或者是否有另一种方法可以整理这个(明显格式错误的)CSV文件,以便删除/忽略尾随分隔符?
cols_only
参数,所有列似乎都被导入了,这看起来很奇怪。我编辑了我的问题并包含了一个小的 CSV 文件示例以展示问题。 - cbrnr