Effacer les filtres
Effacer les filtres

How to write a matrix (4 x 3) into a csv file

1 vue (au cours des 30 derniers jours)
Jake
Jake le 18 Oct 2016
Commenté : Walter Roberson le 21 Oct 2016
Hi MATLAB experts, I want to write a cell matrix into a csv file as you can see below, called 'output'. At the moment, I am using a function of fprintf with for loop, which has no issues to use as is.
However, in a csv file, I also want to have a header on top of the matrix such as head
header = {'date', 'Name', 'Score};
output =
[42661] [1x40 char] [200]
[42661] [1x40 char] [201]
[42661] [1x40 char] [202]
.
.
.
.
[42661] [1x40 char] [210]
fid=fopen(['C:\MATLAB\output.csv'],'w');
for z = 1:size(output,1)
fprintf(fid, '%d,%s,%d\n', output {z,1}, output {z,1}, output {z,1});
end
fclose(fid);
How can I add the header to this matrix to write into a csv file??
Thanks for your help in advance. Sungho

Réponse acceptée

Walter Roberson
Walter Roberson le 18 Oct 2016
After the fopen,
fprintf(fid, '%s,%s,%s/n', header{:} ) ;
  3 commentaires
Jake
Jake le 21 Oct 2016
Thanks!! This works perfect. However, when writing numbers with decimals, MATLAB writes those numbers with decimals as Scientific instead of General which I want to keep in the spreadsheet.
How can I do to keep the numbers with decimals in General????
Thanks for your help.
Walter Roberson
Walter Roberson le 21 Oct 2016
Change the %d to %g

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

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

Start Hunting!

Translated by