files = ls ('E:\test\*.csv');
rows_in_each_file = zeros(1,size(files,1));
for i = 1: size(files, 1)
file = files(i,:);
m = readmatrix(['E:\test\' file]);
size(m,1);
for r = 1:size(m,1)
rows = r;
if all(isnan(m(r,:)))
rows = r-1;
break;
end
end
rows_in_each_file(i) = rows;
if i==1
columns = size(m,2)-1;
for c = 2:size(m,2)
if all(isnan(m(:,c)))
columns = c-1;
end
end
end
end
max_rows = max(rows_in_each_file);
div = zeros(1,max_rows);
for i = 1:size(files,1)
div(1:rows_in_each_file(i)) = div(1:rows_in_each_file(i)) + 1;
end
outputmat = zeros(max_rows,columns);
for i = 1: size(files, 1)
file = files(i,:);
m = readmatrix(['E:\test\' file]);
for r = 1:size(m,1)
if all(isnan(m(r,:)))
m= m(1:r-1,2:end);
break;
end
end
for r = 2:size(m,2)
if all(isnan(m(:,r)))
m= m(1:end,1:r-1);
break;
end
end
if all(isnan(m(:,1)))
m= m(:,2:end);
end
if size(m,1) < max(rows_in_each_file)
m = [m;zeros(max_rows - rows_in_each_file(i),columns)];
elseif size(m,1) == max_rows
tb = readtable(['E:\test\' file]);
end
outputmat = outputmat + m;
if
end
outputmat = outputmat./div';
tb(:,2:end) = num2cell(outputmat);
writetable(tb,'result.csv')
0 Comments
Sign in to comment.