Я использую следующую команду для чтения файла CSV:TextScan прекращает чтение после 1 линии
fid=fopen('test.csv');
scannedData = textscan(fid, '%4.0u%2.0u%2.0u%2.0u%2.0u%2.0u,%u,%u,%q,%q,%f,%f,%.2f,%u','whitespace','"');
fclose(fid);
Проблема в том, что TextScan не читает значение из последнего поля и останавливается после 1 линии. Пропуская это поле, назначьте его другим типом, используя многочисленные комбинации eof в текстовом экране, ничего не помогло.
Данные в файле выглядит следующим образом:
"20100324072328","501","1","str1","str2","4.6846712","52.0159507","1.250000","128.000000"
"20100324072519","501","1","str1","str2","4.6846122","52.0159346","0.000000","128.000000"
"20100324072640","501","1","str1","str2","4.6846014","52.0159453","0.000000","128.000000"
"20100324072812","501","1","str1","str2","4.6845907","52.0159507","0.000000","96.000000"
"20100324073002","501","1","str1","str2","4.6845800","52.0159614","0.000000","128.000000"
Я хотел бы разобрать первый подал непосредственно TextScan как я пытаюсь с вышеупомянутыми командами.
Я не хочу использовать альтернативу чтения полей с помощью %q
и затем разбора результирующих массивов.
Итак, я был бы признателен за любые предложения, чтобы сделать textscan делать все за один раз.
Спасибо.
Вы должны '«Разделитель»,«»'. – Oleg
Добавление опции разделителя позволяет только анализировать мое первое поле, и комбинация не читает остальные поля. (в сочетании с вышеупомянутым форматом чтения) Вот почему я выхожу из разделителя и помещаю запятые в formatpec. – user2618054
Не используйте опцию whitespace, но вставляйте '' 'в строку формата, сохраняя разделитель на', '. – Oleg