loop through files not working correctly.

1 visualización (últimos 30 días)
John
John el 18 de Mzo. de 2012
Hello,
I'm trying to convert .xls files in a folder into .mat files, but the code is not looping through the files correctly.
The .xls files are called cycle1, cycle2, cycle3...etc and they all have different numbers of rows.
sch_cycle and nrows are not changing for each file. It creates all the .mat files but they are all the same corresponding to cycle1.xls.
Could anybody tell me what is going wrong?
Sincere thanks
John
x = cellstr(ls('*.xls'));
for k = 1:length(x)
sch_cycle=xlsread('C:\Autonomie practice\cycle1.xls','Input_data');
nrows = size(sch_cycle,1)-1;
sch_grade=[0,0;nrows,0];
sch_grade=[0 0;nrows 0];
sch_key_on=[0 1; nrows 1];
[~,fn] = fileparts(x{k});
sch_metadata.name = fn;
sch_metadata.proprietary='public';
save([fn,'.mat'],'sch_cycle','sch_grade','sch_key_on','sch_metadata');
end

Respuesta aceptada

David Young
David Young el 18 de Mzo. de 2012
Your code reads cycle1.xls every time it starts the loop. It needs to read each file in turn - probably like this:
sch_cycle = xlsread(x{k}, 'Input_data');
since the call to ls suggests that you expect to be working in the directory with the .xls files.
  1 comentario
John
John el 18 de Mzo. de 2012
Oh, I should of realized that! Thanks

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre File Operations en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by