writetable() to change header and append cell array in each row
17 views (last 30 days)
Show older comments
chlor thanks
on 4 May 2021
Commented: Scott MacKenzie
on 4 May 2021
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!!
0 Comments
Accepted Answer
More Answers (1)
Scott MacKenzie
on 4 May 2021
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 Comments
Scott MacKenzie
on 4 May 2021
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.
See Also
Categories
Find more on Tables in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!