MATLAB Answers

Indra
0

Run a code for all excel files in a folder?

Asked by Indra
on 15 Oct 2018
Latest activity Commented on by Bob Nbob
on 17 Oct 2018
Hello, I need to run a code (Dataprocess.m) for all excel files in a folder. When I am running dataprocess.m for one file, it's working. How can I run it sequentially for all the excel files?

  1 Comment

I would write a for loop to run through a directory.
files = dir(folder,'*.xlsx') % Syntax here is not going to be perfect, but I'm pretty sure dir is the correct command.
for k = 1:length(files)
data_process_code_file_name_var = files(k).name % Not positive files is actually a structure class, you will have to try it
Dataprocess % Execute code
end

Sign in to comment.

2 Answers


Answer by Indra
on 16 Oct 2018

Thanks Bob, I made a loop as per your suggestion in a script:
files = dir('*.xls') % Syntax here is not going to be perfect, but I'm pretty sure dir is the correct command . for k = 1:length(files ) data_process_code_file_name_var = files(k).name; % Not positive files is actually a structure class, you will have to try it DataProcess % Execute code end
Then I run my Dataprocess.m code as below:
close all; clear all; clc; % [FileName, Pathname] = uigetfile({'*.xls';'*.xlsx'},'select the excel file'); % % % FileName = [Pathname FileName]; %FileName = '1605301321.xls'; FileName = 'data_process_code_file_name_var';
But it's not working

  3 Comments

What kind of error(s) are you getting? Post the message and the line as a comment and we can get back to you on it.
Undefined variable "files" or class "files".
Error in Untitled (line 3)
What is 'files' defining itself as? Does the dir() command come up with anything? Did you change it at all? You are probably going to have to, and I would suggest looking up the documentation on it first to make sure it is being applied correctly (I.e. right location, right options input, etc.).

Sign in to comment.