0

次の .dat ファイルから 4 行目のデータをインポートするにはどうすればよいですか。

#0  Date-time:  07/06/2011 09:13:53
#1  Recorder:   10T2607
#2  File type:  1
#3  Columns:    3
#4  Channels:   1
#5  Field separation:   0
#6  Decimal point:  0
#7  Date def.:  0   0
#8  Time def.:  0
#9  Channel 1:  Temperature(°C) Temp(°C)    3   1
#11 Reconvertion:   0
#19 Line color: 1   2   3   4
#30 Trend Type Number:  1
#33 Limit Temp. Corr. OTCR: 0
1   07.04.11 08:00:00   17,433
2   07.04.11 08:05:00   17,446
3   07.04.11 08:10:00   17,458
4   07.04.11 08:15:00   17,458

したがって、#33 で始まる行に従って、17,433 (17.433 である必要があります)、17,446 などをインポートします。データが 13 行目から始まるように指定して、textscan とヘッダーラインを使用しようとしました。

filename = 'Folder\data.dat');
fid = fopen(filename);
data = textscan(fid,'%f\t%f\t%f\t%f\n','Headerlines',13);
fclose(fid);

ただし、これは機能しません (MATLAB が空の配列を返すという意味で)。これは、2 列目と 3 列目が浮動小数点数ではないためだと思いますが、文字列に指定しても機能しません。次に何を試せばいいですか?

4

1 に答える 1

1

まず、14個のヘッダー行があることに注意してください。

データのインポートについては、次のことを試すことができます。

filename = 'Folder\data.dat';
fid = fopen(filename);
data = textscan(fid,'%f\t%s\t%s\t%s','Headerlines',14);
a = cellfun(@(x) str2num(strrep(x, ',', '.')), data{4});
fclose(fid);

これにより、

a =
   17.4330
   17.4460
   17.4580
   17.4580
于 2012-11-13T19:10:32.770 に答える