Re: [問題] txt讀檔如何只讀某幾行已回收
: .
: 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
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章