问题描述
我正在尝试使用从here中找到的Apple移动报告生成的csv。
现在一切正常,我可以按预期获得.csv了,如下所示:
csvtxt <- "geo_type,region,2020-01-14,2020-01-15,2020-01-16
country/region,Albania,50.1,100.2,75.3"
但是当我fread
时,即使我在这里找到但无法再次找到的选项check.names = FALSE
也不会这样识别出第一行,这毫无疑问是列名行。
library(data.table)
fread(csvtxt,check.names = FALSE)
# V1 V2 V3 V4 V5
#1: geo_type region 2020-01-14 2020-01-15 2020-01-16
#2: country/region Albania 50.1 100.2 75.3
是否有一种方法可以导入此数据,以便正确识别列名行?
解决方法
我们需要通过将标头设置为TRUE来强制标头。
import threading
print(threading.activeCount()) # Should print "1"
# The statetement below should be printing the same values
# Such as "1 1 1 1" or smthng like that
print(id([])); print(id([])); print(id([])); print(id([]));
从手册中:
标题
第一数据行是否包含列名?根据第一条数据行上的每个非空字段是否为默认值 输入字符。如果是这样,或者提供了TRUE,则任何空列名都是 指定默认名称。
混淆可能来自 read.csv ,其中标头默认为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