[問題] 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此種數字而已
(第四行之後的也不要)
目前的寫法是:
index = fgetl(fid);
while isempty(findstr(index,'SSACC'))
index = fgetl(fid);
end
yes = 1;
data = [];
temp=[];
while yes
if strcmp(temp,'ESACC') % 如果讀到ESACC便跳出迴圈
break
elseif ischar(temp) %如果讀到字串便捨棄此列
temp = fgetl(fid);
end
temp = fscanf(fid,'%f%f%f',3); %一列只讀三筆資料
data = [data;temp];
% 不會直接換列...
end
但是fscanf的指令中,size只能設定總共要讀幾筆資料,並排列成一指定的矩陣格式
似乎不能跳著讀
所以我就用上述的寫法,打算一列一列讀,但是卻不知道該如何換列
請問是用fseek嗎?那參考點要怎麼設呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.47.117
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章