我有幾個cvs文件,我想從中讀取特定的行,並從中收集特定的信息。 雖然我發現我能夠閱讀這些文件都很好,如果手動刪除一行,我希望能夠跳過這一行使用一些代碼,以避免通過這些文件中的每一個,並手動刪除此行。使用matlab讀取csv文件時,索引超過矩陣尺寸誤差?
示例: 我的文件看起來像這樣
- 布拉布拉
- 布拉布拉
- 布拉布拉
- S>
- 布拉布拉
- 布拉布拉
- nquan = 12
- 布拉布拉
我在MATLAB使用下面的代碼閱讀本文件:
din = 'C:/example/';
CNVfiles = dir ([din '*.cnv']);
fid = fopen([din CNVfiles], 'r');
我希望能夠得到來自行「#nquan = 12」數字「12」(其是 列點(NcoI),我將在以後需要)的數量,
p = ' ';
while ~isequal(p(1:7),'* nquan')
p = fgets(fid);
end
Ncol = str2double(p(11:end));
fclose(fid);
但是,它使我的錯誤,指出在「端」指數esceed矩陣維「......當我在看什麼'p'是,它告訴我'* S>',因此我在猜測當我在文件中讀取'* S>'行時遇到問題..
當我手動刪除該行'* S>'時,它工作的很好,我得到了Ncol = 12。但是,我想避免手動這樣做,因爲我有一堆像這樣的cnv文件。
我想跳過那一行,但不知道該怎麼做......任何想法這裏有什麼錯誤?我能做些什麼才能使它成功?
非常感謝,
蘇菲
非常感謝!事實上,當我現在使用p(1:4)時,它的效果都很好。 – sophie