How to export a table including column names?

34 views (last 30 days)
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

Jan on 20 Mar 2022
Maybe there is a typo in the original code? If I adjust the variable names, which must be legal Matlab symbols in my R2018b version, it is running:
A = rand(5, 4); % Some test data
MyTable = array2table(A);
MyTable.Properties.VariableNames(1:4) = {'Min','Max', 'Mean', 'StDev'};
writetable(MyTable,'MyTable.csv', 'WriteVariableNames', true);
  1 Comment
Lu Da Silva
Lu Da Silva on 20 Mar 2022
Edited: Lu Da Silva on 20 Mar 2022
You're right, there was a typo! My bad, so sorry! But thank you!

Sign in to comment.

More Answers (1)

Star Strider
Star Strider on 20 Mar 2022
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);

Sign in to comment.


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!