例如,我有12120100.xls到12120123.xls的文件名。我需要将这些文件的所有数据的平均值放在一起,并且需要使用不同的名称分别编写(xlswrite)这些文件。文件名12120100表示12 =年份,12 =月,01 =日,00 =小时。这里我想给年,月,日作为输入,小时(00到23)在代码中循环使用,从小时开始
%%以下是我使用的代码
clc;
close all;
clear all;
d='12120722.xls'; % file which i want to read ,avg and xlswrite
dat=xlsread(d,'F3:AH3602');
size(dat)
avg=zeros(1,29);
for i= 1:29
avg(i)=mean(dat(1:3600,i));
end
avg
newfname=strcat(d(1:8),'Averaged values','.xls');
xlswrite(newfname,avg,' F1:AH1');
h=msgbox('Averaged complete')
close(h);
以上代码仅适用于一个文件。我希望一次运行22个文件的代码
非常感谢
答案 0 :(得分:0)
将您要处理的所有Excel文件放在一个文件夹中,然后从该文件夹中运行代码。
fname=dir('*.xls'); % read in all the file names
for f=1:length(fname)
d=fname(f).name; % file which you want to read in the current iteration
d
dat=xlsread(d,'F3:AH3602');
size(dat)
avg=zeros(1,29);
for i= 1:29
avg(i)=mean(dat(1:3600,i));
end
avg
newfname=strcat(d(1:8),'Averaged values','.xls');
xlswrite(newfname,avg,' F1:AH1');
h=msgbox('Averaged complete')
close(h);
end