How do I use use sprtintf for a loop?
    3 ビュー (過去 30 日間)
  
       古いコメントを表示
    
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 件のコメント
回答 (1 件)
  dpb
      
      
 2020 年 12 月 6 日
        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 件のコメント
  dpb
      
      
 2020 年 12 月 6 日
				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.
参考
カテゴリ
				Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

