我已将文件分享,链接:
http://pan.baidu.com/s/1i3Fxjfv 密码:
yv96。解压即知目录结构。
现在,需要提取每一个600000.csv中的第二列数据,但要从第一列中的0930XX开始(也就是前面的0925XX对应的第二列部分数据要去掉),然后将得到的1xN矩阵保存为2014XXYY这样日期为文件名(所在文件夹即如此命名)的mat文件,其中的变量均命名为Y,保存到m文件所在文件夹,m文件位于2013根目录内或桌面均可。
另,若过于麻烦,则只要按日期循环即可,月份我可手动完成。
若比较简单,则可否把600000.csv作为输入变量?这样我输入文件名之后程序再运行提取数据。
非常感谢您的帮助!
一个小的思路变化,m文件链接:链接:http://pan.baidu.com/s/1dD4FWrv 密码:si2a,非常感谢。
要处理的数据文件名:SH600000.CSV
D:\MATLAB\working\2013\201301\20130102\SH600000.CSV
D:\MATLAB\working\2013\201301\20130103\SH600000.CSV
D:\MATLAB\working\2013\201301\20130104\SH600000.CSV
D:\MATLAB\working\2013\201301\20130105\SH600000.CSV
D:\MATLAB\working\2013\201301\20130122\SH600000.CSV
D:\MATLAB\working\2013\201301\20130131\SH600000.CSV
D:\MATLAB\working\2013\201302\20130203\SH600000.CSV
D:\MATLAB\working\2013\201302\20130204\SH600000.CSV
D:\MATLAB\working\2013\201302\20130205\SH600000.CSV
D:\MATLAB\working\2013\201303\20130302\SH600000.CSV
D:\MATLAB\working\2013\201303\20130312\SH600000.CSV
D:\MATLAB\working\2013\201303\20130331\SH600000.CSV
D:\MATLAB\working\2013\201304\20130403\SH600000.CSV
D:\MATLAB\working\2013\201304\20130415\SH600000.CSV
D:\MATLAB\working\2013\201305\20130503\SH600000.CSV
D:\MATLAB\working\2013\201305\20130505\SH600000.CSV
D:\MATLAB\working\2013\201306\20130602\SH600000.CSV
D:\MATLAB\working\2013\201306\20130631\SH600000.CSV
追问
实测能运行,非常好!但是,非常抱歉,由于初学matlab,能麻烦稍微逐行解释一下吗?例如,s含义,cd()用法,i为什么从3开始循环(每月日期随机),s2含义。非常感谢!
追答cd()获得当前路径, s=dir(path)即获得当前路径下的所有文件(包括子目录), s2是第二层目录下的所有文件. i从3开始循环,是因为1,2是当前目录(.)和上层目录名(..) 见下图. 这个和dos命令中的dir得到的结果一致.
好的。那文件路径中‘/’和.name又是什么意思?
另外,若要保存成”日期+文件名.mat“如何实现?
非常感谢。
1) 和'/' 都是路径名中的斜杠 (两者皆可)
.name 是从dir()得到的目录下的文件名
2) matfilename = [s2(j).name file '.mat'];