0

我有一个文本文件,其中有 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、textscan、csvread、tdfread。但是每次我都遇到错误。

4

1 回答 1

1

使用 textscan 的简单方法。

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 我们得到零,则空白将正确显示。

于 2013-10-09T06:43:49.513 回答