reading multiple files using importdata

Hi! Wanna import data from various .txt-files. And I am wondering why the code, I'm using, is not working. Probably I did a mistake in the format of entering the file name and directory. Anybody know what to do?
if true
pth = 'C:\Users\Marcus\Documents\MATLAB\data\'; % directory of the folder, where data files are saved
liste = dir(strcat(pth,'*.txt')); % creates a list of all files in the folder directory pth
files = {liste.name}; % creates a cell array with the name of the data file
for k = 1:numel(files);
fullname = strcat(pth,files) ;
data = importdata(fullname);
end

Answers (1)

1. you have to do the dir command before the strcat
2. you can't do the stract on the whole list, you have to do it one by one
i.e
liste = dir('*.txt');
for i=1:length(liste)
files=strcat(pth,'\',liste.name(i))
end

2 Comments

Thank's for the help so far! I'm sorry that I did not specify in my question that the matlab-file will not be saved in the same folder as the data files. That's why I used
liste = dir(strcat(pth,'*.txt'));
unfortunately
liste = dir('*.txt');
is not working in that case...Any other ideas?
Finally it worked with:
pth = 'C:\Users\Marcus\Documents\MyDataFolder\';
liste = dir(strcat(pth,'*.txt'));
files = {liste.name};
for k = 1:numel(files);
file{k} = strcat(pth,files{k});
data{k} = importdata(file{k},' ',6);
end
Thanks for your help!

Sign in to comment.

Categories

Tags

Asked:

on 3 Oct 2016

Commented:

on 4 Oct 2016

Community Treasure Hunt

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

Start Hunting!