使用时间数据导入csv文件

时间:2014-10-24 00:24:45

标签: matlab csv text-parsing

我正在尝试将csv文件导入MATLAB。但是,当我使用csvread时,我收到错误。我还尝试了importfileimportdata功能,但它们也没有用。我分享了数据via dropbox link。有人可以帮我吗?提前谢谢。

前几行文件:

Subject,Session,Epoch , Datapoint, ECG,POz,Fz,Cz,C3,C4,F3,F4,P3,P4,Tilt X,Tilt Y,Tilt Z,ESUTimestamp, SystemTimestamp, 
2006,200611011,0, 1, -18.92119,-71.56481,-82.09354,-56.73304,-58.59464,-79.89624,-58.50309,-99.61089,-67.78058,-61.52438,-230,-70,22,00:16:50:591,13:26:45:458
2006,200611011,0, 2, -17.91409,-71.56481,-79.04173,-54.50523,-54.71885,-81.39162,-50.81254,-96.86427,-70.16098,-57.31289,-231,-68,25,00:16:50:591,13:26:45:458
2006,200611011,0, 3, 
<snip>

1 个答案:

答案 0 :(得分:2)

textscan支持datetime格式说明符starting with R2014b。以下命令跳过标题行并根据指定的格式读取数据:

fid  = fopen('200611011.edf_Data.csv','r'); assert(fid~=-1)
tfmt = '%{HH:mm:ss:SSS}D';
C = textscan(fid,['%d%d%d%d%f%f%f%f%f%f%f%f%f%f%d%d%d' tfmt tfmt],...
    'HeaderLines',1,'Delimiter',',');
fclose(fid);

如果您没有datetime支持(R2014b或更新版本),请以字符串形式阅读时间字段:

C = textscan(fid,['%d%d%d%d%f%f%f%f%f%f%f%f%f%f%d%d%d%s%s'],...
    'HeaderLines',1,'Delimiter',',');