How do I import many excel files in MATLAB?

2 visualizaciones (últimos 30 días)
JIN-HWA JEONG
JIN-HWA JEONG el 29 de Abr. de 2016
Comentada: John BG el 29 de Abr. de 2016
I use a code, like this. But Just 1 of 5 file is imported. I want to import 5 files.
source_dir = 'C:/Users/Cju/Documents/MATLAB/a/' ;
dest_dir = '/C:/Users/Cju/Documents/MATLAB/a' ;
source_files = dir(fullfile(source_dir, '*.xlsx'));
for i = 1:length(source_files)
data = xlsread(fullfile(source_dir, source_files(i).name));
xlswrite(fullfile(dest_dir, source_files(i).name));
end
  2 comentarios
louis rassinfosse
louis rassinfosse el 29 de Abr. de 2016
Editada: louis rassinfosse el 29 de Abr. de 2016
I suppose only your last file is imported? That is because the name data, is the same for all 5 files..
Try:
-----------------------
For i=...
Data(i) =...
End
----------------------
(Not sure if it is '(i)' or {i}' but one should work )
John BG
John BG el 29 de Abr. de 2016
With your for loop writing the output of xlsread in exactly the same variable called 'data' you will not be able to read any other spreadsheet than the last one.
First build different variables, or a matrix the size you want to hold the data, fill it up with zeros if dealing with numeric, or build a basic cell that you can concatenate in the same for loop and then read with the for loop:
data={}
for k=1:N_files
[d1 d2 d3]=xlsread(...)
data=[data ; d3]
end
check your syntax of xlsread and xlswrite, the:
  • variables
  • worksheet page
  • cell ranges
are missing.

Iniciar sesión para comentar.

Respuestas (1)

louis rassinfosse
louis rassinfosse el 29 de Abr. de 2016
I suppose only your last file is imported? That is because the name data, is the same for all 5 files..
Try:
-----------------------
For i=...
Data(i) =...
End
----------------------
(Not sure if it is '(i)' or {i}' but one should work )

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by