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일

0 개 추천

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일

0 개 추천

L = readtable( fileLog );
L2 = convertvars(mergevars(L,["Var2","Var3"]),"Var2",@(a)join(a," "));

카테고리

도움말 센터File Exchange에서 Cell Arrays에 대해 자세히 알아보기

제품

릴리스

R2022b

태그

질문:

2023년 3월 16일

댓글:

2023년 3월 21일

Community Treasure Hunt

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

Start Hunting!

Translated by