Мне нужно прочитать данные из файла ASCII, где отсутствующие значения указаны как NA. Использование textscan(...) не работает, потому что textscan(...) останавливает чтение/анализ при первом появлении NA.
Вот простая демонстрация проблемы:
x = textscan ( "1 ; 2 ; 3\n4 ; NA ; 6" , '%d %d %d' , 'Delimiter' , ';' , 'ReturnOnError' , false )
error: textscan: Read error in field 2 of row 2
Я также пытался указать textscan(...) интерпретировать NA как "пустое значение", но безуспешно:
x = textscan ( "1 ; 2 ; 3\n4 ; NA ; 6" , '%d %d %d' , 'Delimiter' , ';' , 'TreatAsEmpty' , 'NA' , 'ReturnOnError' , false )
error: textscan: Read error in field 2 of row 2
Может кто-нибудь объяснить, что происходит, или как заставить это работать?
Обратите внимание, что это всего лишь упрощенный пример, иллюстрирующий проблему. Формат данных в моих файлах немного сложнее, и я действительно полагаюсь на textscan(...) для его разбора; Я не думаю, что смогу легко сделать это без текстового сканирования (...).
(Я использую Octave 4.2.1.)