iterate through multiple files in a folder

151 views (last 30 days)
Nitish Reddy Kotkur
Nitish Reddy Kotkur on 19 Oct 2019
Edited: Cathal on 18 Jul 2023
function [] = lanczos(A, m)
A = readmatrix('output1.txt','Whitespace',' []');
here A reads a single text file.
But i wanted A to read multiples text files(may be using for loop) stored in a folder(say graphs) and the function needs to run through all of them and display output for every text file.
can someone help me with this.
  3 Comments
Nitish Reddy Kotkur
Nitish Reddy Kotkur on 19 Oct 2019
Edited: Rik on 20 Oct 2019
myfolderinfo=dir('dense_gnm_random_graph');%dense_gnm_random_graph is the folder which contains text files
N=length(myfolderinfo);
for i = 3:N
thisfile = myfolderinfo(i).name
A = readmatrix('thisfile','Whitespace',' []');
and these are the errors i got
Error using readmatrix (line 148)
Unable to find or open 'thisfile.txt'. Check the path and filename or file permissions.
Error in final (line 6)
A = readmatrix('thisfile.txt','Whitespace',' []');
Rik
Rik on 20 Oct 2019
The source of the error is that you entered the variable name as a char array instead of the contents of the variable.

Sign in to comment.

Answers (2)

Katarina Vuckovic
Katarina Vuckovic on 20 Oct 2019
myDir = uigetdir; %gets directory
myFiles = dir(fullfile(myDir));
M(length(myFiles),s)=zeros; %gets all wav files in struct
for k = 1:length(myFiles)
baseFileName = myFiles(k).name;
fullFileName = fullfile(myDir, baseFileName);
A = readmatrix(fullFileName,'Whitespace',' []');
end

Cathal
Cathal on 18 Jul 2023
Edited: Cathal on 18 Jul 2023
Expanding on Katarina's answer, this worked for me with some small changes:
myDir = uigetdir; %gets directory
myFiles = dir(fullfile(myDir, '*.txt'));
M(length(myFiles))=zeros; %gets all wav files in struct
for k = 1:length(myFiles)
baseFileName = myFiles(k).name;
fullFileName = fullfile(myDir, baseFileName);
A = readtable(fullFileName,'Whitespace',' []');
%Assuming by display you mean to plot?
plot(A{:,1}, A{:,2}, Marker=".") %Replace {:,1} and {:,2} with whatever
hold on
end

Categories

Find more on Environment and Settings in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!