fscanf文件在matlab中读取混合数字和非数字数据(文本不可用)

时间:2012-05-03 19:15:13

标签: matlab file-io

我正在尝试读取数据文件,但我有一个旧版本的Matlab,不包含文本扫描。我正在尝试使用fscanf,但我无法弄清楚如何读取时间格式的第二个元素。 txt数据如下所示:

20120502,16:30:00,1397.5,1397.5,1397.0,1397.5,1283
20120502,16:32:00,1397.25,1397.5,1397.0,1397.0,582

我试过这个,试图找出第二列是时间向量,但我没有运气。

fid = fopen('C:\matlab\data\GLOBEX.txt','r');  
[c] = fscanf(fid, '%f %s %f %f %f %f %f');  

由于

1 个答案:

答案 0 :(得分:1)

尝试以下方法:

[c] = fscanf(fid, '%f,%d:%d:%d,%f,%f,%f,%f,%f');  
c = reshape(c, 9, length(c)/9)';

现在,您可以在第2,3和4列中获得小时,分钟和秒。