How to export a table including column names?
Show older comments
I have a matrix A that I want to convert into a table with variable names and export as csv.
This is my code:
MyTable = array2table(A);
MyTable.Properties.VariableNames(1:4) = {'Min','Max', 'Mean', 'St. Dev.'};
writetable(MyTable,'MyTable.csv', 'WriteVariableNames', true);
But I get the following error:
Error using writetable
Unsupported type 'double'. Use writematrix instead.
But when using 'writematrix' the column names aren't supported.
NB: one of the columns in A has NaN in some rows.
Update: the code above works fine; there was a mistake in the original code. SORRY!
Accepted Answer
More Answers (1)
Star Strider
on 20 Mar 2022
2 votes
It might be better to write it as a text file instead, since a .csv file may not be appropriate.
writetable(MyTable,'MyTable.txt', 'WriteVariableNames', true);
6 Comments
Lu Da Silva
on 20 Mar 2022
It works for me, including NaNs:
T = array2table([1,2;NaN,3;NaN,4;5,6]);
T.Properties.VariableNames = {'X','Y'};
writetable(T,'test.txt')
type test.txt
Lu Da Silva
on 20 Mar 2022
Star Strider
on 20 Mar 2022
@Stephen — Thank you!
Paul Safier
on 6 Apr 2023
Star Strider
on 7 Apr 2023
@Paul Safier — My pleasure!
A Vote would be appreciated!
Categories
Find more on Data Type Conversion 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!