fread没有正确读取列名称

fread没有正确读取列名称,r,csv,import,download,data.table,R,Csv,Import,Download,Data.table,我试图使用苹果移动报告生成的csv,可以找到 现在,一切都运行得相对良好,我能够按预期获得.csv,它看起来像以下文本: csvtxt <- "geo_type,region,2020-01-14,2020-01-15,2020-01-16 country/region,Albania,50.1,100.2,75.3" 是否有办法将此数据导入以便正确识别列名行?我们需要通过将标题设置为TRUE来强制执行标题 library(data.table) # R versio

我试图使用苹果移动报告生成的csv,可以找到

现在,一切都运行得相对良好,我能够按预期获得.csv,它看起来像以下文本:

csvtxt <- "geo_type,region,2020-01-14,2020-01-15,2020-01-16
country/region,Albania,50.1,100.2,75.3"

是否有办法将此数据导入以便正确识别列名行?

我们需要通过将标题设置为TRUE来强制执行标题

library(data.table) # R version 4.0.2, data.table_1.13.2

fread(csvtxt, header = TRUE)
#          geo_type  region 2020-01-14 2020-01-15 2020-01-16
# 1: country/region Albania       50.1      100.2       75.3
从手册中:

标题
第一个数据行是否包含列名?根据第一个数据行上的每个非空字段是否为 输入字符。如果是这样,或者提供了TRUE,则将删除所有空列名 给定一个默认名称

默认情况下,read.csv中的标题为TRUE时可能会出现混淆:

read.csv(text = csvtxt)
#         geo_type  region X2020.01.14 X2020.01.15 X2020.01.16
# 1 country/region Albania        50.1       100.2        75.3

您能否跳过所有的
curl
下载部分,并将问题简化为几行csv,这些csv在
fread
中无法正常工作?如果到目前为止一切正常,那么可能不需要将其包含在问题中,并将使该问题对未来的读者更为通用。您的代码对我来说正常,
fread(paste0(Chemin,“AMR”,“_”,“today(),.csv”),header=TRUE)
(R版本4.0.2,data.table_1.13.2)您需要通过设置为TRUE来强制它,因为您有“无效”的名称。@zx8754我想我只是无法正确阅读文档。。。Thanks@AnthonyMartin-我已尝试编辑,将问题简化为您问题的核心。您能检查一下是否可以吗?@zx8754-我认为值得添加答案-我不知道这个问题或解决方法,因此至少有一个人会觉得它是有益的。我认为这里的陷阱是,有些列名不包含任何字母。如果我将文件更改为具有
“A2020-01-14、A2020-01-15、A2020-01-16”
,则效果很好。@最近的邮件是,也注意到了这一点。我对手册的措辞不是很清楚。我检查了fread的源代码,看起来标题“猜测”是使用yaml包完成的。请随意编辑更多详细信息。对我来说,“2020-01-15”是一个有效的“字符”类型字符串。Yaml包不用于猜测标题,它用于获取csv(又名CSVY)内Yaml标题中提供的标题。如果csv中没有yaml标题,那么我希望猜测会发生在C中的某个地方。@jangorecki谢谢,我不知道如何使用它,请随意编辑以添加更多细节。
read.csv(text = csvtxt)
#         geo_type  region X2020.01.14 X2020.01.15 X2020.01.16
# 1 country/region Albania        50.1       100.2        75.3