FilePath including a variable

68 Ansichten (letzte 30 Tage)
Manuel Lauber
Manuel Lauber am 8 Nov. 2020
Bearbeitet: Stephen23 am 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 Kommentar
Mario Malic
Mario Malic am 8 Nov. 2020
Bearbeitet: Mario Malic am 8 Nov. 2020
Are you trying to open sheets from one folder that have the same name in another?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Environment and Settings finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by