import multiple excel file

조회 수: 11 (최근 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