Merging strings in a table

6 vues (au cours des 30 derniers jours)
dormant
dormant le 16 Mar 2023
Commenté : dormant le 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.

Réponse acceptée

Cris LaPierre
Cris LaPierre le 16 Mar 2023
Modifié(e) : Cris LaPierre le 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"
  1 commentaire
dormant
dormant le 21 Mar 2023
Many thanks

Connectez-vous pour commenter.

Plus de réponses (1)

Voss
Voss le 16 Mar 2023
L = readtable( fileLog );
L2 = convertvars(mergevars(L,["Var2","Var3"]),"Var2",@(a)join(a," "));
  1 commentaire
dormant
dormant le 21 Mar 2023
Many thanks

Connectez-vous pour commenter.

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Produits


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by