matlab批量读取数据

例如我的当前文件夹下有许多excel(后缀名为.xls),我需要读取的数据位置是A2:A37,而且这些EXCEL文件名称是有规律的,例如
060101.xls,060102.xls,060103.xls,...060112,070101.xls,070102.xls,070103.xls,...,070112.xls.我的想法是把这些文件的所有的A2:A37都提取出来,赋到一个矩阵里,可是该怎么做呢?哪个大神能帮我一下,感激不尽。

% 先取得文件名列表,用循环逐个读取文件,再对矩阵进行拼接,应该可以解决你的问题,

% 如有疑问请进一步提出

 

files = dir('*.xls');    % 获取所有的 excel 文件名,
                              % 需将准备读取数据的 excel 文件存放在同一目录中,
                              % 并将该目录设为当前目录。
l = length(files);      % 获取文件的个数
B=[];                       % B 用于存放结果
for i=1:l                   % 遍历所有的文件
    filename = files(i).name;              % 逐个取得文件名
    A = xlsread(filename,'A2:A37');   % 读对应位置的数据
    B = [B A];                                     % 拼接矩阵
end
msgbox(['complete! ' num2str(l) ' xls files.']);   % 提示完成,并显示读取的文件个数

 

% 用简单的四个 xls 文件测试了一下,程序可以正常运行,workspace截图如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-11
建议先将excel表格拖到matlab工作区,使其成为mat格式的数据,然后通过简单的编程就可以将任意值赋值到矩阵的任意位置了。
mat格式matlab能更好的识别与处理,也是matlab处理数据的基础。