我有一个类似于以下内容的.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个单独的单元格阵列,即它不会采用与矩阵相同的格式。我怎么解决这个问题?
答案 0 :(得分:4)
问题是textscan
将每个提取的列放在自己的单元格中,因此需要稍微不同的方法。
一种可能的方法是使用textscan
提取相关的行,然后使用regexp
将每个行拆分为逗号分隔的字符串:
dat = textscan(fid, '%s', 'headerlines', 8, 'delimiter', '\n')
C = regexp(dat{1}, ',', 'split');
dat = vertcat(C{:})