读用fread只有一条线从data.table
问题描述:
我有以下文件:读用fread只有一条线从data.table
bla;bla;
0;1;2;3;4;
我想只读用fread第一线(从data.table 1.10.0):
fread('data/test.txt', nrows = 1, skip = 0, colClasses = "character", autostart = 0, header = F)
它产生以下警告:
Warning message:
In fread("data/test.txt", nrows = 1, skip = 0, colClasses = "character", :
Starting data input on line 2 and discarding line 1 because it has too few or too many items to be column names or data: bla;bla;
答
我不认为本fread
将工作。软件包说明明确指出
'fread'用于常规分隔文件;即,每行具有相同的>数量的列。将来,可在每列中指定辅助分隔符(sep2) 。这样的列将被读作类型列表,其中每个单元>本身就是一个向量。
我试过组合sep =“;”和sep2 =“;”,但不起作用。
随着所有这些自动检测的进行,我认为一些没有自动检测的方法可能会更快,当你只想读第一行时。
你特别想使用'fread'? 'readLines'怎么样?也可以用'fread'尝试'fill = T'参数。 –
如果速度很快,我可能会使用readLines。我有很多文件要读取,首先我从readr尝试了read_csv2,但它比fread慢得多。我会尝试readLines,谢谢。 –
我相信'fread'最初会扫描文件结构。虽然'readLines'将文件作为连接处理,并只读取前x行,而不管内容。 –