Read multiple txt files using a loop
2 次查看(过去 30 天)
显示 更早的评论
This is the following code that i have
EDIdir = 'C:\Users\Alexis\Google Drive\B\D\';
date_1 = 2016-06-10
date_2 = 2016-06-11
Qdata = dlmread([EDIdir 'Something_' date_1 '.txt']);
I want to process multiple data from different dates, eg have date_2, date_3, date_4... Tried using a for loop to loop through date_i, i = 1:12 but didn't work. I am sure that i am making some kind of syntax wrong.
Thank you.
1 个评论
采纳的回答
Stephen23
2016-8-8
编辑:Stephen23
2016-8-8
Your mistake was to create lots of individual numbered variables for the date strings. This is a very bad idea, because it makes accessing them very difficult (read this page to know why). Instead, put all of your dates into one array (e.g. a cell array) and looping over it becomes trivial using basic indexing:
dates = {'2016-06-10','2016-06-11'};
out = cell(size(dates));
for k = 1:numel(dates)
fname = sprintf('Something_%s.txt',dates{k})
out{k} = dlmread(fullfile(EDIdir,fname));
end
Or alternatively you might like to use the dir method:
S = dir(fullfile(EDIdir,'Something_*.txt'));
out = cell(size(S));
for k = 1:numel(S)
fname = S(k).name;
etc
end
You will find a detailed explanation of both methods here:
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!