matlab中如何按行读取txt文件

如题所述

第1个回答  2018-03-09
% 打开文件(注意修改文件名)
fid = fopen('480684994.txt','rt');
if fid == 0, return, end
% 读文件直到结束
while ~feof(fid)
% 每次读入一行
s = fgetl(fid);
% 以空格作为数据项的分隔符
% 注意:
% 数据格式必须满足以下要求,否则需要改写代码
% 1、数据的分隔符必须是空格;
% 2、数据项例如“1:0.007477”里面不可以有空格
idx = [0 find(s==' ') length(s)+1];
% 第一项数据
A = [];
A(1) = str2num( s(1:idx(2)-1) );
% 舍去第二列,所以从第三列开始处理
for i = 3 : length(idx) - 1
% 每项有效数据必须包含一个“:”
str = s( idx(i)+1 : idx(i+1) - 1 );
iidx = find( str == ':' );
if length(iidx) ~= 1, continue, end
A(end+1) = str2num( str(iidx+1:end) );
end
% 本行读入的结果保存在变量A中,后续如何处理请自行完成
A
end
% 关闭文件
fclose(fid);
广义的“文件”指公文书信或指有关政策、理论等方面的文章。文件的范畴很广泛,电脑上运行的如杀毒、游戏等软件或程序都可以叫文件。
狭义的“文件”一般特指文书,或者叫做公文。文件是人们在各种社会活动中产生的记录。狭义的"文件"并不能等同于”档案“,它们的主要区别在于是否具有保存价值以及是否具备原始记录的性质。如果两者都具备,则可以称之为”档案“,否则只能算作文件。虽然两者有很大的交集,但绝不能等同。
相似回答
大家正在搜