Adding column headers to writetable csv file

I'm trying to figure out how to add column headers to my csv files using writetable.
I started with creating a table of variables (transposed into columns) and then used writetable to export it as a csv. Right now the headersin the output file are Var1 and Var2. How can I change this?
T6 = table(average_in_bin.',num_per_bin.');
writetable(T6,'avg_num_per_bin.csv')

 Accepted Answer

Adam Danz
Adam Danz on 29 Apr 2019
Edited: Adam Danz on 13 Sep 2021
The default value for the WriteVariableNames parameter in writetable() is true so all you need is to add variable names to your 'T6' table. Below I named them "NameOne" and "NameTwo".
T6 = table(average_in_bin.',num_per_bin.', 'VariableNames', {'NameOne', 'NameTwo'});
writetable(T6, 'avg_num_per_bin.csv', 'WriteVariableNames', true)

3 Comments

Jurgen vL
Jurgen vL on 23 Sep 2019
Edited: Jurgen vL on 23 Sep 2019
Note that table variables still have to comply with the character restrictions for MATLAB variable names. So if you want more flexibility in your exported table names, consider using writecell(). Although softwares like R handle names with hyphens and spaces and dots, best-practices include camelCase and underscores.
I believe the "True" has to be lowercase.
writetable(T6, 'avg_num_per_bin.csv', 'WriteVariableNames', true)
Yep, thanks. Corrected.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 29 Apr 2019

Commented:

on 13 Sep 2021

Community Treasure Hunt

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

Start Hunting!