Как читать только числовые столбцы из текстового файла в 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, мы получаем ноль.

Другие вопросы по тегам