我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > Ansys教程

消除txt數據文件中空行批處理小程序

時間:2010-01-29 05:29:10 來源:
有限元結果計算完之后,生成的數據文件里面總是有文字或者空行,不便于讀入excel里進行處理,我這兒編了個小程序,可以解決這個問題
 

一、消除txt數據文件中空行批處理小程序

%下面這段才是真正的讀入數據寫出數據的程序
%需要txt原型數據文件,然后可以將所有的字符行消除,空行消除

考慮到寫入數據文件其實并沒有什么意義,同時修改數據行中可以包含小數點(.)、-、E(科學計數法)等符號。
function [data]=distilldata(infile)
%功能說明:
%將保存數據的原始文件中的數值數據讀入到一個data變量中
%使用說明:
% infile——原始數據文件名;
% data=數據變量

tmpfile='tmp.mat';
fidin=fopen('aaa.txt','r'); % 打開原始數據文件(aaa.txt)
fidtmp=fopen(tmpfile,'w'); % 創建保存數據文件(不含說明文字)
while ~feof(fidin) % 判斷是否為文件末尾
tline=fgetl(fidin); % 從文件讀入一行文本(不含回車鍵)
if isempty(tline) | tline==' ' % 判斷是否空行
continue
else
[m,n]=size(tline);
flag=1;
for i=1:n %判斷一行中有沒有字符(+-.Ee和空格鍵除外)
if tline(i)==' '|tline(i)=='-'|tline(i)=='.'|tline(i)=='E'...
|tline(i)=='e'|tline(i)=='+'...
|(double(tline(i))>=48&&double(tline(i))<=57)
continue
else
flag=0;
break
end
end
if flag==1 % 如果是數字行,把此行數據寫入文件
fprintf(fidtmp,'%sn',tline);
else
continue
end
end
end
fclose(fidin);
fclose(fidtmp);
data=textread(tmpfile);