loop through files not working correctly.
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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
0 Kommentare
Akzeptierte Antwort
David Young
am 18 Mär. 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.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Spreadsheets finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!