SCILAB是一个类MATLAB软件,最近在做一个分齿算法,用到了它。
下面的代码是实现统计文本文件的某个字段功能:
less80cnt=0;
datestr="20140703"
writecontent="";
rtmp="";
fpath="F:\132 data\line5\20140701-20140705\5\x\"+datestr;
flst=findfiles(fpath,"*.txt");
for fidx=1:size(flst,"r")
fcontent=csvRead(fpath+"\"+flst(fidx),"\t",[],"string");
for ridx=1:size(fcontent,"r")
if(fcontent(ridx,1)=="80"&(fcontent(ridx,8)=="0"|fcontent(ridx,9)=="0"|fcontent(ridx,10)=="0"|fcontent(ridx,11)=="0"))
rtmp=fcontent(ridx,1)+ascii(9)+fcontent(ridx,2)+ascii(9)+fcontent(ridx,5)+ascii(9)+fcontent(ridx,8)+ascii(9)+fcontent(ridx,9)+ascii(9)+fcontent(ridx,10)+ascii(9)+fcontent(ridx,11)++ascii(10)+ascii(13);
writecontent=[writecontent;rtmp];
disp(rtmp);
less80cnt=less80cnt+1;
end
end
end
writecontent=[writecontent;"The motor of less 80 tooth in " + fpath + " has " + string(less80cnt)];
write("D:\Users\RD\Desktop\"+datestr+".txt",writecontent);
输出结果如下:
80 201407032151430500105 5 2190 0 2303 2303 80 201407032151430500105 10 0 0 2616 2616 80 201407032206520500105 1 1971 0 2106 2106 80 201407032213250500105 9 2558 0 2581 2581 80 201407032227520500105 1 1935 1935 2331 0 80 201407032235170500105 4 2266 2266 0 0 80 201407032242260500105 7 2167 0 2364 2364 80 201407032249590500105 2 0 0 0 0 80 201407032249590500105 12 0 0 0 0 80 201407032257020500105 8 1979 1979 0 0 80 201407032305380500105 3 2349 0 2491 2491 80 201407032312150500105 8 2396 2396 0 0 80 201407032319170500105 6 0 0 2020 2020 The motor of less 80 tooth in F:\132 data\line5\20140701-20140705\5\x\20140703 has 266