读取包含NUL字节< 0x00>的Latin-1文件的数据表fread错误

时间:2017-10-23 15:18:48

标签: r character-encoding data.table

无法创建可重现的示例且无法共享数据,但我想我偶然发现了fread()中的错误。试图读取我在Latin-1中编码的1.658GB tsv文件会产生以下错误:

Error in fread("POANG.txt", header = TRUE, sep = "\t", sep2 = NULL, encoding = "Latin-1",  :
  Jump 949 did not finish counting rows exactly where jump 950 found its first good line start: prevEnd(0x14e51d6dc)<<>> != thisStart(prevEnd+180966)<<4908565  01  0   1   0   1999    1   TNMAT       NMAC09  015 015 15.>>

有问题的行是第11129896行,其中在Sublime文本中有一个NUL标记写为<0x00>,Vi中有^@(无法复制)。如果我设置skip = 11129895,则fread会抛出相同的错误,但现在“跳转0”,如果我将skip = 11129896设置为有效,但nrows=11129895仍然会抛出相同的错误。

1 个答案:

答案 0 :(得分:1)

现在应该在GitHub v1.12.3中修复。如果您仍然有文件,请重试。