Merge table with different rows
52 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Shelender Kumar
el 2 de Nov. de 2018
Comentada: Star Strider
el 9 de Feb. de 2022
I have two files with different rows but with the same number of columns and I want to combine it together but I am getting an error * All tables in the bracketed expression must have the same number of rows. *
file1 = readtable('306K-268K.csv'); file2 = readtable('266K-228K.csv'); Com = [file1 file2];
Thanks a lot for the help
0 comentarios
Respuesta aceptada
Star Strider
el 2 de Nov. de 2018
Com = outerjoin(file1,file2);
See if that does what you want.
4 comentarios
MattyK
el 9 de Feb. de 2022
Thanks very much for this solution, have always wanted it. It works perfectly
Más respuestas (4)
madhan ravi
el 2 de Nov. de 2018
Editada: madhan ravi
el 17 de Nov. de 2018
You can't merge table with different number of size dimensions , use structure instead
8 comentarios
Stéphane Rainville
el 16 de Nov. de 2018
You're missing a semi-colon to invoke vertical concatenation ('vertcat') rather than default horizontal concatenation ('horzcat').
For instance, two tables with different number of rows (but same number of columns), this does NOT work:
myBigTable = [myTable1 myTable2];
But this does:
myBigTable = [myTable1; myTable2];
I was facing a similar problem when storing tables of different lengths in a cell array.
myTables{1} = myTable1;
myTables{2} = myTable2;
and using
bigTable = [myTables{:}]
did not work because unwrapping and concatenating cell contents invoked horizontal concatenation. You can't just stick a semi-colon in there, so I had to explicitly invoke vertical concatenation like this:
bigTable = vertcat(myTables{:});
2 comentarios
Stéphane Rainville
el 17 de Nov. de 2018
Ah I see. Then yeah, tables of different length would be a problem.
Peter Perkins
el 6 de Nov. de 2018
"Merge" is kind of vague. It may be that you just need to add a semicolon to vertically concatenate:
Com = [file1; file2]
3 comentarios
Peter Perkins
el 8 de Nov. de 2021
The current way to do this is to create the same number of rows in the smaller matrix/table/whatever. That's already been shown in an earlier reply.
Ver también
Categorías
Más información sobre Other Formats en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!