如何在matlab中只读取文本文件中的数字列?

时间:2013-10-09 06:20:52

标签: matlab text-files matlab-load

我有一个文本文件,其中有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。但每次我都有错误。

1 个答案:

答案 0 :(得分: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我们得到零,则正确显示空格。