Merging strings in a table

6 views (last 30 days)
dormant
dormant on 16 Mar 2023
Commented: dormant on 21 Mar 2023
I'm trying to merge two columns in a table. I tried this:
L = readtable( fileLog );
L2 = mergevars(L,["Var2","Var3"]);
But this end up with Var2 as a cell array.
L2 =
6×2 table
Var1 Var2
_________ _______________________
1.679e+09 {'Start'} {'ping' }
1.679e+09 {'Start'} {'copy' }
1.679e+09 {'Stop' } {'copy' }
1.679e+09 {'Start'} {'delete'}
1.679e+09 {'Stop' } {'delete'}
1.679e+09 {'Stop' } {'ping' }
How can I combine each row of Var 2 to be strings like "Start ping"? I tried using strjoin, but that gives me a single string.

Accepted Answer

Cris LaPierre
Cris LaPierre on 16 Mar 2023
Edited: Cris LaPierre on 16 Mar 2023
I would do this.
fileLog = "logData.csv";
L = readtable( fileLog, "TextType","string")
L = 6×3 table
Var1 Var2 Var3 ________ _______ ________ 1.68e+09 "Start" "ping" 1.68e+09 "Start" "copy" 1.68e+09 "Stop" "copy" 1.68e+09 "Start" "delete" 1.68e+09 "Stop" "delete" 1.68e+09 "Stop" "ping"
L2 = L(:,"Var1");
L2.Var2 = L.Var2 + " " + L.Var3
L2 = 6×2 table
Var1 Var2 ________ ______________ 1.68e+09 "Start ping" 1.68e+09 "Start copy" 1.68e+09 "Stop copy" 1.68e+09 "Start delete" 1.68e+09 "Stop delete" 1.68e+09 "Stop ping"

More Answers (1)

Voss
Voss on 16 Mar 2023
L = readtable( fileLog );
L2 = convertvars(mergevars(L,["Var2","Var3"]),"Var2",@(a)join(a," "));

Categories

Find more on Characters and Strings in Help Center and File Exchange

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!