Read multiple excel files and get the maximum value

3 次查看(过去 30 天)
I have a folder with 960 excel file each with 1 sheet - 3 columns and 96000 odd rows. I need to find the maximum absolute value of each column and save in another excel. I tried the following
files = dir('*.csv');
for i = 1:length(files)
data = xlsread(files(i).name);
max2010(i) = max(data);
end
and obtained this error
Unable to perform assignment because the left and right sides have a different number of elements.
Error in Maxvalue (line 4)
max2010(i) = max(data); % Maximum value in entire dataset

回答(1 个)

KSSV
KSSV 2022-5-5
编辑:KSSV 2022-5-5
files = dir('*.csv');
N = length(files) ; % initialize the required maximum array
max2010 = zeros(N,3) ;
for i = 1:length(files)
data = xlsread(files(i).name); % read the file
max2010(i,:) = max(data); % Get the max and save in array
end
  4 个评论
SHIMNA MANOHARAN
SHIMNA MANOHARAN 2022-5-5
Warning: Column headers from the file were modified to make them valid MATLAB identifiers before
creating variable names for the table. The original column headers are saved in the
VariableDescriptions property.
Set 'VariableNamingRule' to 'preserve' to use the original column headers as table variable names.
Error using max
Invalid data type. First argument must be numeric or logical.
Error in Maxvalue (line 6)
max2010(i,:) = max(data); % Get the max and save in array
KSSV
KSSV 2022-5-6
You cannot use straight away max on table. You need to follow as below:
files = dir('*.csv');
N = length(files) ; % initialize the required maximum array
max2010 = zeros(N,3) ;
for i = 1:length(files)
data = readtable(files(i).name); % read the file into a table
data = table2array(data) ; % convert table to array
max2010(i,:) = max(data); % Get the max and save in array
end

请先登录,再进行评论。

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by