import multiple excel file

7 次查看(过去 30 天)
Sehoon Chang
Sehoon Chang 2020-8-27
编辑: Stephen23 2020-9-2
i am trying to import multiple excel file containing table value to matlab using the following source:
The excel data type varies from file to file (csv., xls., etc.)
using above mentioned link, i have remodelled the code to import tables from each excel file.
csvFiles = dir('*.csv');
numfiles_csv = length(csvFiles)
for a = 1:numfiles_csv
table_csv{a} = readtable(csvFiles(a).name)
end
xlsFiles = dir('*.xls');
numfiles_xls = length(xlsFiles);
for b = 1:numfiles_xls
table_xls{b} = readtable(xlsFiles(b).name);
end
xlsbFiles = dir('*.xlsb');
numfiles_xlsb = length(xlsbFiles);
for c = 1:numfiles_xlsb
table_xlsb{c} = readtable(xlsbFiles(c).name);
end
for each imported table, i wish to display the actual table value. However, the result that i get is as following:
table_csv = 1×1 cell array
{104853×12 table}
How may I change the code to get the result that I am seeking.
And, is there a way to import csv., xls., and xlsb. files in one procedure?
Thank you.

回答(1 个)

Stephen23
Stephen23 2020-9-2
编辑:Stephen23 2020-9-2
D = 'absolute or relative path to the folder where the files are saved';
Sc = dir(fullfile(D,'*.csv'));
Sx = dir(fullfile(D,'*.xls'));
Sb = dir(fullfile(D,'*.xlsb'));
S = [Sc(:),Sx(:),Sb(:)];
for k = 1:numel(S)
F = fullfile(D,S(k).name);
S(k).data = readtable(F);
end
Then you can trivially use idnexing to access the data and file information from the same structure, e.g.:
S(1).data % 1st table of data
S(1).name % 1st filename
S(2).data % 2nd table of data
S(2).name % 2nd filename

类别

Help CenterFile Exchange 中查找有关 Data Import from MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by