Formatting more than 600 table
2 views (last 30 days)
Show older comments
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 Comments
Guillaume
on 9 Jan 2015
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
Accepted Answer
Guillaume
on 9 Jan 2015
Edited: Guillaume
on 9 Jan 2015
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.
More Answers (0)
See Also
Categories
Find more on Tables in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!