在Matlab中读取文件时,列用多个空格分隔

时间:2015-01-06 22:58:14

标签: matlab readfile

我试图加载一个文件,文件列用空格分隔,但是有不同的空格数 列之间。因为在我阅读的同时,我得到了错误 示例数据:

AAT_ECOLI   0.49  0.29  0.48  0.50  0.56  0.24  0.35   cp
ACEA_ECOLI  0.07  0.40  0.48  0.50  0.54  0.35  0.44   cp
ACEK_ECOLI  0.56  0.40  0.48  0.50  0.49  0.37  0.46   cp
ACKA_ECOLI  0.59  0.49  0.48  0.50  0.52  0.45  0.36   cp  

你可以看到,第一列和第二列之间有3个空格,第2列和第3列有两个空格。

你能建议一个有用的功能吗?

原始数据文件:https://drive.google.com/file/d/0B_XEmkrWR-hCMXVySVI2bU5waGs/view?usp=sharing 谢谢

1 个答案:

答案 0 :(得分:0)

我的评论的长版本:

使用importdata似乎工作正常;你正在寻找的技巧(我认为:)是将所有数据连接成一个大单元,你很高兴;

代码:

Data = importdata('ecoli.data');
AllData = vertcat(Data{:})

前几行:

AllData =

AAT_ECOLI   0.49  0.29  0.48  0.50  0.56  0.24  0.35   cp
ACEA_ECOLI  0.07  0.40  0.48  0.50  0.54  0.35  0.44   cp
ACEK_ECOLI  0.56  0.40  0.48  0.50  0.49  0.37  0.46   cp
ACKA_ECOLI  0.59  0.49  0.48  0.50  0.52  0.45  0.36   cp
ADI_ECOLI   0.23  0.32  0.48  0.50  0.55  0.25  0.35   cp

然后您可以将数字转换为实际数字,因为它们当前是字符。这是你的意思吗?