1
我试图使用textscan从文本文件导入数据。数据有一对分隔符(冒号和空格)。我想将数据导入一个有137列的矩阵。下面是两行数据,它是在格式。在Matlab中使用textscan导入多个分隔符的数据
2 id:1 1:3 2:3 3:0 4:0 5:3 6:1 7:1 8:0 9:0 10:1 11:156 12:4 13:0 14:7 15:167 16:6.931275 17:22.076928 18:19.673353...134:1 135:0 136:2
9 id:2 1:4 2:3 3:1 4:5 5:3 6:4 7:2 8:0 9:0 10:1 11:16 12:42 13:0 14:7 15:167 16:5.7 17:1 18:3...134:2 135:6 136:3
有50行这样所以最后我想一个50×136的矩阵。我想抓住冒号后面的空格值,从1开始(1:3
和1:4
),然后到136(136:2
和136:3
)。以下是我正在尝试的代码。我一直在试着发布一些我在做一些研究时发现的代码。我一直在阅读关于repmat的规格,似乎这只会产生1 x 136矩阵。
fid = fopen('./train.txt','r');
fmt = ['%f' repmat('%*f:%f', 1, 136)];
c = textscan(fid, fmt, 'CollectOutput', 1)
在此先感谢和任何帮助,非常感谢。