MATLAB Answers

Loop for storing files from sub-folders in new variables?

3 views (last 30 days)
Jonathan Marchetto
Jonathan Marchetto on 24 Oct 2018
Commented: Image Analyst on 30 Oct 2018
I have 10 folders, 1 for each of my participants. Each folder has 3 files per each trial, so trial 1 will have an A file, B file, and C file that represent different hardware collecting data. and they all follow the same naming convention (Afile1,Afile2,Afile3,etc).
I'm trying to create a loop that runs through Folder 1, Folder 2, etc and extracts each of those files for each trial and puts them in a variable.
My goal is to have a variable for A files, B files, and C files that is organized for participants 1-10. The layout would look something like this
AFiles = 24 rows (24 trials per participant) 10 columns (10 participants).
Hope this makes sense. I've tried numerous codes that I've found from searching on how to handle sub-folders, importing multiple folders, etc but none seem to work.

  0 Comments

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 24 Oct 2018
Possibly the easiest is to use the fileDataStore() function.
Alternatively, use dir() with the double asterisk option. (Demo attached).

  2 Comments

Jonathan Marchetto
Jonathan Marchetto on 29 Oct 2018
Hey Image Analyst,
Thanks for the response. I read through the document and was able to utilize that code and adapt it for my needs.
However, the main problem I am encountering is still storing the data itself as a variable. The code you provided processes those files, but then when I try and store one of the .txt files as a variable, I am getting error messages.
The main thing I was looking for was a loop that takes in all of the files I have now processed, and save all of the data from the ones with the same name as a variable if that makes sense.
Thank you
Image Analyst
Image Analyst on 30 Oct 2018
Well, it's kind of vague. Why can't you just process the file inside the loop? Why do you need to store them all for use later, outside the loop? If you do, if the files are all of different sizes then you'd have to store each file in one cell of a cell array. See the FAQ: https://matlab.wikia.com/wiki/FAQ#What_is_a_cell_array.3F

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by