I like to import a string with multiple pathnames

조회 수: 1 (최근 30일)
Erik Verdijk
Erik Verdijk 2018년 3월 26일
편집: Stephen23 2018년 3월 26일
Hello,
I have a string with multiple substrings. Each of the substrings is a pathname. How can I use importdata or textscan to import these substrings in seperate tables?
  댓글 수: 2
KSSV
KSSV 2018년 3월 26일
You have those strings in a text file? Why don't you show the sample of text file?
Erik Verdijk
Erik Verdijk 2018년 3월 26일
I tried this
[FileName,PathName] = uigetfile('../*.txt','MultiSelect','on','choose','the path');
numfiles = length(FileName); c = char (FileName);
string2=strcat(PathName,c);
for ii = 1:numfiles;
% it work until here
a{ii} = importdata(string2);
end

댓글을 달려면 로그인하십시오.

답변 (2개)

KSSV
KSSV 2018년 3월 26일
Try this:
[FileName,PathName] = uigetfile('../*.txt','MultiSelect','on','choose','the path');
numfiles = length(FileName);
a = cell(numfiles,1) ;
for ii = 1:numfiles
c = char (FileName{ii});
string2=strcat(PathName,c);
a{ii} = importdata(string2);
end
  댓글 수: 2
Stephen23
Stephen23 2018년 3월 26일
Do not use strcat for filenames/paths! Always use fullfile.
Also that char does nothing.

댓글을 달려면 로그인하십시오.


Stephen23
Stephen23 2018년 3월 26일
편집: Stephen23 2018년 3월 26일
uigetfile does not return strings, it returns a cell array of char vectors. Iterating over a cell array is easy, so just do that. Also use fullfile rather than concatenating strings using strcat (or anything else).
[fnm,pnm] = uigetfile('../*.txt','MultiSelect','on','choose','the path');
C = cell(1,numel(fnm));
for k = 1:numel(fnm)
C{K} = importdata(fullfile(pnm,fnm{k}));
end
  댓글 수: 2
Erik Verdijk
Erik Verdijk 2018년 3월 26일
편집: Erik Verdijk 2018년 3월 26일
Is it possible that I get this as result? I have to say that the file I want to import is rather complicated. It has headerlines and variable names. Sorry if I wasn't clear.
Stephen23
Stephen23 2018년 3월 26일
편집: Stephen23 2018년 3월 26일
"Is it possible that I get this as result?"
Of course it is possible. Read the importdata help to know what it returns: the structure and its fieldnames are clearly explained there. Note that you could easily convert the cell array of scalar structures to a more convenient non-scalar structure:
S = [C{:}];
S(1).data
S(1).colheaders
...
S(2).data
...

댓글을 달려면 로그인하십시오.

태그

Community Treasure Hunt

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

Start Hunting!

Translated by