У меня есть файл с разделителями с разделителями на 9 столбцов, содержащий множество форматов данных. Однако некоторые записи пустые в пределах 'type
'.Размещение пустых записей в TXT-файлах с помощью textscan - MATLAB
id id_2 s1 s2 st1 st2 type desig num
1 1 51371 51434 52858 52939 5:3_4:4_6:2_4:4_2:6 CO 1
2 1 108814 108928 109735 110856 5:3_4:4_6:2_4:4_2:7 CO 2
3 1 130975 131303 131303 132066 5:3_4:4_6:2_4:4_2:8 NCO 3
4 1 191704 191755 194625 194803 NCO 4
5 2 69355 69616 69901 70006 CO 5
6 2 202580 202724 204536 205151 5:3_4:4_6:2_4:4 CO 6
Благодаря смешанных типов форматов, Я использую TextScan импортировать эти данные:
data = textscan(fid1, '%*f %f %f %f %f %f %*s %s %*[^\r\n]','HeaderLines',1);
Для того, чтобы столбцы 2-6, пропустить «type
» и принять 8-ю колонну.
Этот подход терпит неудачу в строках с пустыми вводами - он пропускает это, как если бы это был не столбец, и вместо того, чтобы принимать «NCO» или «CO», это займет «4» или «5».
Есть ли способ предотвратить это? Я знаю, что могу изменить исходные .txt-файлы, чтобы включить что-то вроде «NA» для пустых записей, но это менее желательно, чем более надежный способ чтения таких файлов.
EDIT:
В дополнение к приведенному ниже ответ, просто указав разделитель, используемый, как представляется, решить проблему:
data = textscan(fid1, '%*f %f %f %f %f %f %*s %s %*[^\r\n]','HeaderLines',1,'delimiter','\t');
Будут ли отсутствовать записи в столбце 'type' или могут отсутствовать записи из других столбцов? – Divakar
Только столбец 'type'. – AnnaSchumann