如何在MATLAB中用'/'和空格读取分隔文件

qwe*_*qwe 1 file-io matlab

我想在MATLAB中读取这个文件,该文件包含这些数据

1/1/2008 1110 98.5
1/2/2008 1110 99.5
1/3/2008 1110 96.5
1/4/2008 1110 32.5
1/5/2008 1110 8.56
1/6/2008 1110 48.5
Run Code Online (Sandbox Code Playgroud)

它应该在五列中:

  • 第一列是月份
  • 第二列是一天
  • 第3列是年份
  • 第4列是1110
  • 第5列是最后一列

Amr*_*mro 5

使用TEXTSCAN功能:

%# parse file (change the data types if necessary)
fid = fopen('file.dat','rt');
C = textscan(fid, '%d/%d/%d %d %f', 'Delimiter',' ');
fclose(fid);

%# put columns in separate variables
[dt_month,dt_day,dt_year,val1,val2] = deal(C{:});

%# convert to serial date
dt = datenum(double(dt_year),double(dt_month),double(dt_day));
Run Code Online (Sandbox Code Playgroud)