我正在尝试使用fread(data.table)读取一个txt文件,但是我遇到了错误。
(Error in fread(filename, h = F, sep = ";", nrows = 81, skip = 168, verbose = T) :
' ends field 1 on line 168 when detecting types: Iteration 27)
文件可以在以下链接中找到:
https://www.dropbox.com/s/1ybznmh63qjfaij/test.txt?dl=0
我正在使用以下命令:
filename="test.txt"
require(data.table)
tyr <- fread(filename, h=F, sep=";", nrows=81, skip=168, verbose=T)
我可以正常读取文件,只需使用即可。
tyr <- fread(filename, h=F, sep=";", nrows=15, skip=168, verbose=T)
如果我在文本编辑器(Notepad++)中打开文件,剪切前167行,将其重新保存为纯文本,然后使用以下命令,我就可以成功读取该文件:
tyr <- fread(filename, h=F, sep=";", nrows=81, skip=1, verbose=T)
最后,使用read.table
的等效调用可以正常读取文件。我不明白在第168行fread
正在查找什么,因为我已经告诉它跳过了。该文件是来自软件的标准输出文件,并且每个数据块格式相同,但我可以使用以下方法正常读取先前的数据块:
tyr <- fread(filename, h=F, sep=";", nrows=81, skip=86, verbose=T)
我希望您能帮助我理解发生了什么事情。感谢您,Carlo