Assign user defined identifier from one table to another table

3 views (last 30 days)
Hi,
I have two excel file table; a.xlsx and b.xlsx. In a.xlsx file, identifier is assigned for different weight, height and width data column. The another excel file b.xlsx has also weight, height and width column with other data columns. I would like to assigned identifier of table a.xlsx in to table b.xlsx in new column. Any advice is appreciated.

Accepted Answer

Siddharth Bhutiya
Siddharth Bhutiya on 29 Jan 2021
You can use outerjoin to do that. Your keys would be the three common variables and since you only want to add the extra identifier variable from a to b, you can specify MergeKeys to be true.
a = readtable('a.xlsx');
b = readtable('b.xlsx');
outerjoin(a,b,'Keys',{'height','weight','width'},'MergeKeys',true)
ans =
4×7 table
weight height width identifier serialNo age cost
______ ______ _____ __________ ________ ___ ____
502 101 52 1 1 34 4322
502 101 53 NaN 4 55 5533
515 101 53 3 3 43 2344
515 131 53 2 2 23 5433
  2 Comments
Yen Su
Yen Su on 29 Jan 2021
This works. Is there a way to put serial no in first column, identifier in second column and after that other columns?
Siddharth Bhutiya
Siddharth Bhutiya on 29 Jan 2021
Edited: Siddharth Bhutiya on 29 Jan 2021
You can use movevars for that
c = movevars(c,{'serialNo','identifier'},'Before',1)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!