Unable to open file with Importdata after dir with subfolders?

1 visualización (últimos 30 días)
I've used this simple code before with all of my files in one folder and it worked fine.
However I've modified it by adding ** because I now want to get all of the files in subfolders.
The first part of the code seems to be working, it creates a structure from dir with all of my files.
The problem is the second part does not seem to be working as it normally does. I am receiving the erorr message
"Error using importdata (line 137)
Unable to open file."
I'm guessing there is a modification I need to make because I am now using dir with subfolders, but I'm lost as to what change needs to be made.
My goal is to identify all of the files with a specific name, and store the data from those files in variables.
Thank you.
Eyefiles = dir('**\*SMI*')
Vivefiles = dir('**\*Euler*')
%%
for k = 1:length(Eyefiles)
eyedata{k} = importdata((Eyefiles(k).name))
end
for b = 1:length(Vivefiles)
vivedata{b} = importdata((Vivefiles(b).name))
end

Respuesta aceptada

Walter Roberson
Walter Roberson el 4 de Feb. de 2019
fullfile(Eyefiles(i).folder, Eyefiles(i).name)
to construct the file name
  3 comentarios
JM
JM el 4 de Feb. de 2019
Hey Walter,
After running the code successfully with your suggestion, I did notice one weird outcome and I'm not sure why it is happening.
The code works, but on certain iterations of the loop, it seems to actually put more than 1 files worth of data in a given column. So if each column is supposed to contain a 1x30 structure from excel, randomly it seems that some columns will have 1x60, 1x120, etc as if there is extra files being stored.
Hope I am describing it OK. Not sure if this is just a matlab glitch or what, because for a majority of the files it runs fine and puts the appropriate data in.
Walter Roberson
Walter Roberson el 4 de Feb. de 2019
I am not sure off-hand, but I would suggest experimenting with readtable()
Would your files happen to be .xls or .xlsx ? If so I wonder if some of them have multiple sheets?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre File Operations en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by