FilePath including a variable

25 visualizzazioni (ultimi 30 giorni)
Manuel Lauber
Manuel Lauber il 8 Nov 2020
Modificato: Stephen23 il 9 Nov 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 Commento
Mario Malic
Mario Malic il 8 Nov 2020
Modificato: Mario Malic il 8 Nov 2020
Are you trying to open sheets from one folder that have the same name in another?

Accedi per commentare.

Risposte (1)

dpb
dpb il 8 Nov 2020
Modificato: dpb il 9 Nov 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 Commenti
Image Analyst
Image Analyst il 9 Nov 2020
Uh, yeah, that was a huge mistake. Why didn't you just go with dpb's code???
Stephen23
Stephen23 il 9 Nov 2020
Modificato: Stephen23 il 9 Nov 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/

Accedi per commentare.

Categorie

Scopri di più su File Operations in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by