Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

To resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

Continue in a for loop if a file isn't present

Asked by Clifford Shelton on 22 Dec 2012

I'm having a problem with the correct syntax to complete the task without receiving an error. Any help is most appreciated!

In my program there is a for loop to import a series of spreadsheets into Matlab. These spreadsheets are for every US baseball team.

I want to know the syntax of how to skip and continue the for loop if one of the files within the loop are not found in the folder.

Here is the code i have so far:

for Str = {'Diamondbacks' 'Braves' 'Orioles' 'Boston' 'Cubs' 'WhiteSox' 'Reds' 'Indians' 'Rockies' 'Tigers' 'Astros' 'Royals' 'Angels' 'Dodgers' 'Marlins' 'Brewers' 'Twins' 'Mets' 'Yankees' 'Athletics' 'Phillies' 'Pirates' 'Padres' 'Giants' 'Mariners' 'Cardinals' 'Rays' 'Rangers' 'BlueJays' 'Nationals'};
folder = '';
   fileToRead1 = [Str{1} '.xls'];
   sheetName='Sheet1';
 // this is to organize the data in a way easy for me to use 
     [numbers, strings, raw] = xlsread(fileToRead1, sheetName);
  if ~isempty(numbers)
      newData1.data =  numbers;
  end
if ~isempty(strings) && ~isempty(numbers)
    [strRows, strCols] = size(strings);
    [numRows, numCols] = size(numbers);
    likelyRow = size(raw,1) - numRows;
    % Break the data up into a new structure with one field per column.
    if strCols == numCols && likelyRow > 0 && strRows >= likelyRow
        newData1.colheaders = strings(likelyRow, :);
    end
// Here is my feeble attempt to skip and continue the forloop if a file is
// not found.  It doesn't work of course.  
if ~isempty(fileToRead1)
    newData1.data =  numbers;
continue  
end
end

0 Comments

Clifford Shelton

Products

No products are associated with this question.

1 Answer

Answer by Image Analyst on 22 Dec 2012
Edited by Image Analyst on 22 Dec 2012
Accepted answer

Continue if the file is not there:

if exist(fileToRead1, 'file') == 0
  % File does not exist
  % Skip to bottom of loop and continue with the loop
  continue;
end

4 Comments

Clifford Shelton on 22 Dec 2012

I also tried:

if exists(fileToRead1, [Str{1} '.xls']) == 0
  % File does not exist
  % Skip to bottom of loop and continue with the loop
  continue;
end

And got the same error. Not sure what I'm doing wrong.

Image Analyst on 22 Dec 2012

Use exist() instead of exists().

Walter Roberson on 22 Dec 2012

I make that mistake a lot myself!

Image Analyst

Contact us