Formatting more than 600 table
1 次查看(过去 30 天)
显示 更早的评论
I have more than 600 tables each one has a different data. I want To put all the data in the same table (one table). I wonder how can I do that in Matlab. Any help would be greatly appreciated. I will be grateful to you.
4 个评论
Guillaume
2015-1-9
Your naming does not appear to be very consistent. I would have expected the first table to be named either table1 or table001. How is the 10th table named? table010 or table10?
You've not answered whether or not the tables all have the same columns
采纳的回答
Guillaume
2015-1-9
编辑:Guillaume
2015-1-9
A simple code (which does not preserve completely the table header):
tabledir = 'C:\wherever\the\files\are\on your\drive';
tablecount = 600; %how however many there are
tableout = 'alltables.txt' %or however you want to name it
tables = cell(tablecount, 1);
%read tables one by one into cell array
for tableidx = 1:tablecount
tablefile = sprintf('table%02d.txt', tableidx);
if ~exist(fullfile(tabledir, tablefile), 'file')
warning('skipping table %s. file does not exist', tablefile);
else
tables{tableidx} = readtable(fullfile(tabledir, tablefile)); %read table
end
end
alltables = vertcat(tables{:}); %concatenate all tables
writetable(alltables, fullfile(tabledir, tableout));
Note, that I've not tested nor debugged it, there may be some small typos, syntax errors.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Environment and Settings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!