MATLAB去掉数据文件中的字符串及逗号
(2017-09-06 15:52:40)分类: MATLAB |
【code 1】
clear;clc;
fol = pwd;
for i=1:5
i=i
dataname = ['warp-' num2str(i)];
fidin= fopen([fol '\' dataname '.dat']);
row = 1; %初始行
while ~feof(fidin) % 判断是否为文件末尾
tline = fgetl(fidin); % 从文件读行
if ~isempty(str2num(tline))
%如果是我们想要的三列数据的话,就存储起来;
data(row,:)
= str2num(tline);
row = row +
1;
end
end
save([dataname '.dat'], 'data','-ascii');
end
fol = pwd;
for i=1:5
dataname = ['warp-' num2str(i)];
fidin= fopen([fol '\' dataname '.dat']);
row = 1; %初始行
save([dataname '.dat'], 'data','-ascii');
end
【code 2】
%只能运行一次,重复运行会清空文件
clear;clc;fol=pwd;
dataname = ['w50-2a0-0du-1'];
fidin= fopen([fol '\' dataname '.dat'])
%*************去掉字符串*************%
row = 1;
while ~feof(fidin)
end
【注】:
1. 函数feof(fid) 用法:
文件指针 fid 到达文件末尾时返回“真”值;否则返回“假”;
~feof 是在 feof 前加了“非”,是逻辑表达式:文件指针到达文件末尾时 该表达式值为“假”;否则为“真”;
while ~feof 表示:若未读到文件末尾则继续 循环
while feof 表示: 若未读到文件末尾则终止循环,所以只循环一次就终止
2.tline=fgetl(fid)
从文件中读取行,删除文件换行符
返回由文件标识符fid指示的文件的下一行。如果fgetl遇到文件结束指示符,则返回-1。对于fid的完整描述请参考fopen函数。fgetl函数常用于含有文件换行符的文件。
后一篇:整段语句设为注释的方法