Как читать только числовые столбцы из текстового файла в Matlab?
У меня есть текстовый файл, где есть 11 столбцов (разделенных |) и много строк. Некоторые столбцы имеют только числовые значения (например, возраст), некоторые имеют только строки (например, имя), а некоторые столбцы имеют оба (например, адрес). Что я хочу сделать, это получить только числовые столбцы (столбцы, в которых есть только цифры). В некоторых местах в этих числовых столбцах вы также можете найти пробелы.
Несколько строк приведены ниже...
1415 E CENTRAL RD |ARLINGTON HEIGHTS|IL|60005|1|45.50 |.00|1|b| |C
10733 GRAND AV |MELROSE PARK |IL|60164| |45.50 |.00|0|a|1|A
1029 CHARLELA LN 20|ELK GROVE |IL|60007| |45.50 |.00|1|a| |C
Как указано выше, я хочу получить только столбцы 4, 5, 6, 7, 8 и 10.
Я пробовал dlmread, textcan, csvread, tdfread. Но в каждый раз я получал ошибки.
1 ответ
Простой метод с использованием текстов.
file=('1.txt');
format=('%*s%*s%*s%d%d%f%f%d%*c%s%*c');
fid=fopen(file);
data=textscan(fid,format,'delimiter','|');
Я не знаю, какое должно быть значение в столбце 9, поэтому я использовал строку спецификатора. В этом случае пробелы отображаются правильно, если вы используете%d, мы получаем ноль.