Ошибка чтения таблицы данных при чтении файла Latin-1, содержащего байт NUL ‹0x00›

Возникли проблемы с созданием воспроизводимого примера и я не могу поделиться данными, но я думаю, что наткнулся на ошибку в fread(). Попытка прочитать мой tsv-файл размером 1,658 ГБ, закодированный в Latin-1, приводит к следующей ошибке:

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, где есть отметка NUL, записанная как <0x00> в Sublime Text и ^@ в Vi (не могу ее скопировать). Если я устанавливаю skip = 11129895, fread выдает ту же ошибку, но теперь при «скачке 0», если я устанавливаю skip = 11129896, все работает, но nrows=11129895 все равно выдает ту же ошибку.


person adamski    schedule 23.10.2017    source источник
comment
Я бы посоветовал опубликовать его на их github, а не на stackoverflow, если вы действительно думаете, что нашли ошибку.   -  person be_green    schedule 23.10.2017
comment
Собирался сделать это, но тогда в инструкциях по публикации вопросов есть следующее: 3. искал и спрашивал в данные переполнения стека. тег table и предоставит ссылку на вопрос(ы)   -  person adamski    schedule 23.10.2017
comment
Не могли бы вы скопировать сюда строку, содержащую плохой символ (и, возможно, предыдущую/следующую строку)? Если там есть конфиденциальная информация, вы можете заменить все буквы на As и все цифры на 1s.   -  person Pasha    schedule 24.10.2017
comment
Проблема в том, что когда я пытаюсь скопировать его, персонаж исчезает. Теперь попытался отредактировать файл с помощью Sublime, чтобы удалить все остальные строки, а затем сохранить его, и пока символ NULL все еще присутствует, fread больше не выдает ошибку. Действительно странно, но я предполагаю, что это какая-то ошибка кодирования.   -  person adamski    schedule 24.10.2017


Ответы (1)


На данный момент должно быть исправлено в версии 1.12.3 на GitHub. Если у вас все еще есть файл, попробуйте еще раз.

person Matt Dowle    schedule 15.04.2019