Matlab 批量横向合并列数相同,行数不同的EXCEL文件
clear all
filename=dir('*.xls'); %将同类型的文件列举出来
len=length(filename); %文件数量
code=cell(3235,len);
f=cell(3235,len);
DATA=zeros(3235,len*6);
for i=1:len
k(i,1)=length(filename(i,1).name); %求每个文件名字的长度
name(i,1:k(i,1))=filename(i,1).name(1:end); %将文件的名字存到数组name中
end
loop=0;
for i=1:len
loop=loop+1
[num,txt]=xlsread(name(i,1:k(i,1))); %分别读取文件中的txt和数值
len2=length(num); % 计算包含的数值的长度
DATA(3235-len2+1:3235,(i-1)*6+1:i*6)=num; %% 从最后一行开始赋值,这样将保证时间是对齐的。
end
注意这个函数只能提取文件中的数值,如果提取其他类型内容,需要用cell矩阵,过程相同。