2013-03-07 75 views
1

我有類似於以下.dat文件:文件將值導入到一個單元陣列

* ID=Minilog-T 
* Serial Number=1328 
* Study ID=Rostherne 2008 
* Start Time=13-11-2008,14:23:14 
* Finish Time=09-12-2009,13:01:53 
* Sample Period=02:00:00 
* Number of Deployments=9 
* Date(dd-mm-yyyy),Time(hh:mm:ss),Celsius (°C) 
13-11-2008,14:23:14,20.6 
13-11-2008,16:23:14,15.3 

我想將數據插入到一個單元陣列,其中我有:

dat = {'13-11-2008','14:23:14','20.6';'13-11-2008','16:23:14','15.3'}; 

dat = 

    '13-11-2008' '14:23:14' '20.6' 
    '13-11-2008' '16:23:14' '15.3' 

我曾嘗試:

fid = fopen(...); 
dat = textscan(fid,'%s%s%s','headerlines',8); 

然而,這一切都導入到3個獨立的單元陣列,即它不會採取相同的形式作爲矩陣。我該如何解決這個問題?

回答

4

問題是textscan將每個提取的列放在它自己的單元格中,因此需要稍微不同的方法。

一種可能的方式,將涉及使用textscan提取相關行,然後使用regexp每個分割成一個逗號分隔字符串做:

dat = textscan(fid, '%s', 'headerlines', 8, 'delimiter', '\n') 
C = regexp(dat{1}, ',', 'split'); 
dat = vertcat(C{:}) 
相關問題