我有一个充满空白的可怕文本文件(例如下面的例子),我需要第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
答案 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)
这有任何帮助吗?