How do I use use sprtintf for a loop?
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am needing to import a number of files from a folder using a loop so I dont have to re-write the code. The files are named 'Monday11' to 'Monday50' so created a loop using i=11:50. I then need a specific column to be read into matlab from each excel file from F5:F6005. My code so far is:
for i=11:50
gA=sprintf('Monday%d.csv',i);
gA(i)=readmatrix(gA);
end
How can I do this?
thanks in advance!
0 Kommentare
Antworten (1)
dpb
am 6 Dez. 2020
Probably the most-asked question of all...don't build the names, use dir
d=dir('Monday*.csv'); % better to use fully-qualified name search, but if files in local folder ok
for i=1:numel(d)
data=readmatrix(d(i).name,'Range','F');
% do whatever with the dataset here before going on to next...
end
2 Kommentare
dpb
am 6 Dez. 2020
So, what does
whos d
return after the call to dir()?
Sure you got the right folder so it isn't empty, first?
After that, then it's whether the data file is what is advertised to be.
NB: The way you wrote the loop above, all you will have will be the last file found; all the rest will have been overwritten the subsequent time thru the loop since nothing was done with those results first.
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements 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!