2017-07-03 86 views
0

我有有兩種格式,我正在嘗試掃描MATLABtextscan不同格式的數據

使用 textscan
1,2,3,four,five,6 
7,8,9,ten,eleven,12 

等數據,然後用格式的數據的另一個一堆如下

1,2,three,4 
5,6,seven,8 

我試圖使用掃描

fid=fopen('data.txt');  
C=textscan(fid,'%f %f %f %s %s %f','delimiter',','); 
D=textscan(fid,'%f %f %s %f','delimiter',','); 

整個數據看看這個數據就像

1,2,3,four,five,6 
7,8,9,ten,eleven,12 

1,2,three,4 
5,6,seven,8 

不同格式的數據是由一個空行分離時,問題是C從第二表中獲取數據也高達1,2-因此擾亂的D

格式如何停止textscan曾經遇到空行嗎?

+0

默認情況下,'textscan'在遇到格式錯誤時停止並返回該行之前完成的所有操作。你想要的是讀取所有內容,然後按2種格式進行過濾 – GameOfThrows

回答

0

你可能想看看matlab的可讀表函數。 https://www.mathworks.com/help/matlab/ref/readtable.html

我已經使用這個函數來讀取由逗號分隔的文件,該逗號包含文本和數字,其中textscan很難。然後可以將此錶轉換爲單元陣列或矩陣,以進行任何您想要對其執行的處理。

+0

readtable()只返回我想要存儲所有表格的最後一張表格! – maz