FilePath including a variable

27 visualizaciones (últimos 30 días)
Manuel Lauber
Manuel Lauber el 8 de Nov. de 2020
Editada: Stephen23 el 9 de Nov. de 2020
Hey,
i have a problem importing several sheets into MatLab Workspace.
names is a String Array including different file names. I get an Error when i try to include the varibale as part of the file Directory:
May someone help :)
files = dir('.......');
names = {files.name};
for k=1:numel(names)
k = readtable("C:\Users\Desktop\Test\*(names{k})*.txt", opts);
end
  1 comentario
Mario Malic
Mario Malic el 8 de Nov. de 2020
Editada: Mario Malic el 8 de Nov. de 2020
Are you trying to open sheets from one folder that have the same name in another?

Iniciar sesión para comentar.

Respuestas (1)

dpb
dpb el 8 de Nov. de 2020
Editada: dpb el 9 de Nov. de 2020
Variables are variables, not text.
rootdir="C:\Users\Desktop\Test\"; % use variable so can change easily
filespec="*.txt"; % ditto for a file pattern
d=dir(fullfile(rootdir,filespec)); % use fullfile() to put pieces together
for i=1:numel(d)
t=readtable(fullfile(rootdir,d(i).name), opts);
end
ADDENDUM:
Above reads each in turn; process each before going on or catenate if same variables and makes sense or at worst, use cell array to store into and retrieve from.
In
readtable("C:\Users\Desktop\Test\*(names{k})*.txt", opts);
above, you've included the variable name names as literal text so it isn't recognized as a variable by the parser.
  4 comentarios
Image Analyst
Image Analyst el 9 de Nov. de 2020
Uh, yeah, that was a huge mistake. Why didn't you just go with dpb's code???
Stephen23
Stephen23 el 9 de Nov. de 2020
Editada: Stephen23 el 9 de Nov. de 2020
"Why didn't you just go with dpb's code???"
Most likely because of this
and an attempt to "solve" it using dynamic variables: http://xyproblem.info/

Iniciar sesión para comentar.

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