# how to join the values of different cells in different columns in one cell ?

1 view (last 30 days)
MA on 20 Sep 2021
Commented: Walter Roberson on 20 Sep 2021
Is there a way that might allow me to combine several columns of a table in one column and put the values of their cells together in one cell. for example I have the table shown below, the first five columns are for the year, month, day, hour, minute. Would I be able to join them all together in one column such that the values would have such representation: 19961211720 where 1996 is the year, 12 is the month, 1 is the day , 17 is the hour and 20 is the minute.
anyone can help?

Walter Roberson on 20 Sep 2021
T.Date = datetime(T.Year, T.Month, T.Day, T.Hour, T.Min, 0, 'Format', 'uuuuMMddhhmm');
Note: I did not use the format you asked for. You asked for a single digit for the day, but I used two digits for the day. Even in the case where you might happen to know that only a single digit will ever be used, using a single digit is non-standard and makes things harder to understand all around.
Walter Roberson on 20 Sep 2021
T.Date = datetime(T.Year, T.Month, T.Day, T.Hour, T.Min, 0, 'Format', 'uuuuMMddHHmm');

Simon Chan on 20 Sep 2021
Suppose you read the file using function readtable and the name of the table is T, then variable C in the following will give you the required format.
format longG
Ncol = 5;
A=table2array(T(:,1:Ncol));
B=compose(repmat('%d',1,Ncol),A);
C=str2double(B)

R2021a

### Community Treasure Hunt

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

Start Hunting!