Merging strings in a table

8 次查看(过去 30 天)
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.

采纳的回答

Cris LaPierre
Cris LaPierre 2023-3-16
编辑:Cris LaPierre 2023-3-16
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"

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

标签

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by