在Excel中更改许多文件的格式

我有一个文件夹充满了成千上万的CSV文件。 当我打开一个文件时,数据如下所示:

20110503 01:46.0 1527.8 1 E 20110503 01:46.0 1537.8 1 E 20110504 37:40.0 1536.6 1 E 20110504 37:40.0 1533.6 1 E 20110504 36:17.0 1531.1 1 E 

第二列(时间)在小数点前有几分钟和几秒钟。 如果我select第二列,右击并单击格式单元格,select时间,并更改为13:30:55模式,相同的数据如下所示:

 20110503 19:01:46 1527.8 1 E 20110503 19:01:46 1537.8 1 E 20110504 0:37:40 1536.6 1 E 20110504 0:37:40 1533.6 1 E 20110504 8:36:17 1531.1 1 E 

现在我可以看到小时,分钟和秒钟。 我已经写了一个读取这些文件的matlab函数,但需要能够读取小时。 该function只能在更改格式显示小时后才能使用。 现在我必须将该函数应用于文件夹中的所有文件。

我想知道,有没有办法改变默认的时间显示,所以包括小时? 如果没有,是否有写脚本的方式来改变这些文件的格式? 谢谢!

注意:读取文件的matlab函数部分如下所示:

 fid = fopen('E:\Tick Data\Data Output\NGU13.csv','rt'); c = fscanf(fid, '%d,%d:%d:%d,%f,%d,%*c'); datamat = reshape(c,6,length(c)/6)'; % reshape into matrix yyyymmdd = datamat(:,1); hr = datamat(:,2); mn = datamat(:,3); sec = datamat(:,4); pp = datamat(:,5); % price vv = datamat(:,6); % volume 

在Excel中:

在这里输入图像说明

在记事本中,您可以看到小时,分钟,秒和毫秒:

 20111206,09:50:56.411,4.320,1,E 20111206,10:02:10.167,4.300,1,E 20111206,11:24:09.052,4.313,1,E 20111206,11:46:09.359,4.307,1,E 20111206,11:50:22.785,4.320,1,E 

对于types的logging

 20010402, 09:30:24.456, 4.235, 1, E 

你应该使用这个fmt:

 fmt = '%f%f:%f:%f.%f%f%*s'; data = textscan(fid, fmt, 'Delimiter',',','CollectOutput',true);