快速方法读取文件并跳过MATLAB中不包含数字的任何行

时间:2016-03-16 19:34:35

标签: matlab

我有一个逐行格式化的文件,文字和数字如下:

junk
junk
1 2 3 4 5 6 7 8 9 10
junk
.
.
junk
1 2 3 4 5 6 7 8 9 10
junk

我想只读取包含10列数字1:10的行。

我目前有一个像这样的解决方案:

fid = fopen(file)
while 1
    tline = fgetl(file)
    line = sscanf(tline, repmat('%f',1,10));
    if ~isempty(line)
        do stuff
    end
    if feof(fid)
        break
    end
end

问题是文件长达20,000行,我必须在5,000个文件上执行此操作 - 因此运行需要很长时间。我想知道MATLAB中是否有更快的解决方案?

编辑:在文本文件中的20,000行中,其中4,000行将使用我感兴趣的10列数字进行格式化,其余(“垃圾”)具有各种文本/符号/其他数字数据。它们在每个文件之间也不一致。

0 个答案:

没有答案