Matlab:用空格读取文本文件信息

时间:2014-11-10 22:32:50

标签: matlab textscan

我有一个充满空白的可怕文本文件(例如下面的例子),我需要第6列(e.i。9381950,9332480和9997980)中的信息,但是即使有详细的格式化,零星的空白也会使textread或textscan命令出现问题。有没有办法扫描列的每一行[35:41]?

983 8409 hfj  984098    989999999 9381950
688      hfij 786898    775907659 
133 9856                356474764 9332480
95  7409 hfgu 949865    553456546 
914                     343557989 
667 8989                456755688 9997980

2 个答案:

答案 0 :(得分:2)

您可以逐行阅读文件,并且由于您似乎有固定格式文件,因此您只需从一行中的预定义位置提取每行中的列或字符:

out_cell = {};

fid = fopen('data.txt');

tline = fgetl(fid);
while ischar(tline)        
    out_cell{end+1} = tline(20:30);  % put which ever part of line you want      
    tline = fgetl(fid);
end

fclose(fid);

out_cell{:}

答案 1 :(得分:0)

你可以"扫描"通过使用以下方式读取文件的每一行:

fid = fopen('yourfile.extension')
currentLine = fgetl(fid)


# Do some testing here #
# Then proceed to next line using fgetl(fid) again (e.g. using a while loop)

这有任何帮助吗?