How to export a table including column names?

67 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
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);
  6 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!