How can I concatenate tables vertically?

947 views (last 30 days)
How can I concatenate two or more tables vertically if they have the same headers?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 5 Jul 2019
To concatenate two or more tables vertically, you can use "vertcat" either as a function or as an operator - just as you would do to vertically concatenate two or more arrays. The headers do not even need be in the same order. Here is an example:
myTable1 = array2table(eye(3));
myTable1.Properties.VariableNames = ["One","Two","Three"];
myTable2 = array2table(2*eye(3));
myTable2.Properties.VariableNames = ["Two","Three","One"];
myTable3 = array2table(3*eye(3));
myTable3.Properties.VariableNames = ["Three","One","Two"];
myTable = [ myTable1; myTable2; myTable3 ]
The documentation page for "vertcat" explains that this function accepts table inputs:
Stephen23 on 11 Jul 2019
Edited: Stephen23 on 11 Jul 2019
"...if I could create the 10 tables within a loop."
N = 10;
C = cell(1,N);
for k = 1:N
C{k} = table(...)
Although most likely you would be better off using one table, as they are specifically designed to group data and process those groups, without requiring separate tables.

Sign in to comment.

More Answers (0)


No tags entered yet.




Community Treasure Hunt

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

Start Hunting!