Re: [問題] txt讀檔如何只讀某幾行已回收

看板MATLAB作者 (最強⑨番-さるの)時間16年前 (2009/08/25 11:56), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/5 (看更多)
: . : SSACC R 3601331 : 3601331 520.7 375.8 527.0 ... : MSG 3601339 -4 TARGET_SHOW : 3601339 521.0 353.5 528.0 ... : 3601341 521.0 345.1 528.0 ... : MSG 3601343 -9 TARGET_SHOW : 3601353 519.4 302.7 526.0 ... : . : . : ESACC R 3601331 3601359 30 : . : 小弟要取的是SSACC和ESACC這兩列內的資料 : 只有取前三行的數字,文字跳過,亦即只有取3601331 520.7 375.8此種數字而已 若檔案的大小不會很大,導致一次性載入記憶體的操作緩慢,可以試試下面方法 效率請自行驗證 另資料檔案名為 data.txt strin=textread('data.txt','%s','delimiter','\n') ; ret=strin(find(cellfun(@(x) strcmp(x(1:5),'SSACC'),strin))+1); SSdat=cellfun(@(y) sel(str2num(regexprep(y,' ','\n'))',1,1:3),ret,... 'uniformoutput',false); ret=strin(find(cellfun(@(x) strcmp(x(1:5),'ESACC'),strin))+1); ESdat=cellfun(@(y) sel(str2num(regexprep(y,' ','\n'))',1,1:3),ret,... 'uniformoutput',false); 可得到兩個cell SSdat及ESdat分別存有其對應的前三行資料 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.171.85.221
文章代碼(AID): #1Aas3K5- (MATLAB)
文章代碼(AID): #1Aas3K5- (MATLAB)