MATLAB怎么批量(循环)读取Excel文件、以及将数据保存为.xlsx

有时候我们需要对某个文件夹或者多个文件夹中的Excel文件进行读取,然后处理。那么怎么实现呢?

以一个文件夹下的Excel文件进行读取为例。

文件地址:E:\Study of Lab\Coding\Experience DatePhoto\Excel

0-100命名的excel文件
对文件地址下的excel进行批量读取方法为:

excel_path=  'E:\Study of Lab\Coding\Experience DatePhoto\Excel\';   %文件夹路径 
img_path_list = dir(strcat(excel_path,'*.xlsx'));          
%%dir('.')列出当前目录下所有子文件夹和文件%
img_num = length(img_path_list);
%文件的长度

Newexcel_path='E:\Study of Lab\Coding\Experience DatePhoto\diff2method\';
%若想对读取的Excel进行处理,新的excel存放地址

img_name =sort_nat({img_path_list.name});      %排序后的文件名

for i=1:img_num
    P_data(:,:,i) = xlsread([excel_path,num2str(i),'.xlsx']);
    diffdate = diff(P_data,2)  %以对数据进行2阶偏微分处理
end

处理结果部分截图为:
在这里插入图片描述
对数据保存为Excel文件(.xlsx)需要用到xlswrite()函数。

例如:
xlswrite(strcat(file_path,int2str(data1),’.xlsx’), xyz,‘A,K’);

其中,strcat 即 Strings Catenate,横向连接字符串。

作用:将多个字符连接成单个字符串

strcat(file_path,int2str(data1):将data1为命名规律的Excel文件存储在file_path文件夹中,如0.xlsx,1.xlsx,…,100.xlsx.

存储数据的内容为xyz包含的东西

Excel文件存储的范围为A到K(第1列到第11列)

假如想对读取的excel进行处理,还可以在上述的for循环中写入处理模块。

for  ...
	...
	%处理模块
	...
end

----------------------------Ending----------------------------

猜你喜欢

转载自blog.csdn.net/guangwulv/article/details/108600851