writetable() to change header and append cell array in each row

조회 수: 13 (최근 30일)
chlor thanks
chlor thanks 2021년 5월 4일
댓글: Scott MacKenzie 2021년 5월 4일
I have a cell array made of cell array tables such that
testarray
= 1×2 cell array
{1×3 table} {1×3 table}
And
testarray{1}
= 1×3 table
Var1 Var2 Var3
___________________________________ ______ ______
'1' '2' '3'
testarray{2}
= 1×3 table
Var1 Var2 Var3
___________________________________ ______ ______
'3' '4' '5'
And desired header to be
col1 col2 col3
How do I use writetable() to write this in excel that looks like
col1 col2 col3
1 2 3
3 4 5
Thank you!!

채택된 답변

chlor thanks
chlor thanks 2021년 5월 4일
summary = vertcat(testarray{:});
summary.Properties.VariableNames = { col1', 'col2', 'col3'}
writetable(summary, 'summary.xlsx');

추가 답변 (1개)

Scott MacKenzie
Scott MacKenzie 2021년 5월 4일
t1 = table({'1'}, {'2'}, {'3'});
t2 = table({'4'}, {'5'}, {'6'});
t1.Properties.VariableNames = { 'col1', 'col2', 'col3' };
testarray = {t1, t2};
writetable(testarray{1}, 'test.txt');
writetable(testarray{2}, 'test.txt', 'writevariablenames', false, 'writemode', 'append');
In the command window...
>> type test.txt
col1,col2,col3
1,2,3
4,5,6
  댓글 수: 2
chlor thanks
chlor thanks 2021년 5월 4일
Thanks Scott! This will help me learn!
By the way, when I try this code it says 'writemode' is a unvalid parameter name, also t2 didnt append.
Scott MacKenzie
Scott MacKenzie 2021년 5월 4일
Gee, that's weird. I just re-ran the code, no problem. writetable dates to R2013a, so that's unlikely an issue. Of course, t2 did not append becuase the 2nd writetable crashed. I really don't know what the issue. If somone else reads this and has an idea, perhaps they'll weight in.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Spreadsheets에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by