【问题标题】:Error in fread{data.table}fread{data.table} 中的错误
【发布时间】:2014-10-28 21:02:12
【问题描述】:

我正在尝试使用 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 行,将其重新保存为纯 txt 并使用,我可以很好地阅读文件:

tyr <- fread(filename, h=F, sep=";", nrows=81, skip=1, verbose=T)

最后,我可以使用read.table 的等效调用很好地读取文件。 我不明白fread 在第 168 行看什么,因为我说要跳过它。该文件是软件的标准输出文件,每个数据块的格式相同,但我可以通过以下方式读取前一个数据块:

tyr <- fread(filename, h=F, sep=";", nrows=81, skip=86, verbose=T)

如果能帮助我了解正在发生的事情,我将不胜感激。

谢谢, 卡罗

【问题讨论】:

  • 能否请您提交问题here?使用适当的标题指向此页面就足够了。
  • @Arun 谢谢,刚刚提交了一个问题。

标签: r data.table


【解决方案1】:

看来这个问题已经通过这个问题解决了(修复提交未知):

https://github.com/Rdatatable/data.table/issues/801

【讨论】:

    猜你喜欢
    • 2015-12-30
    • 1970-01-01
    • 2022-11-09
    • 2018-02-11
    • 1970-01-01
    • 2013-01-04
    • 2017-11-26
    • 2013-10-14
    • 2014-06-29
    相关资源
    最近更新 更多