Effacer les filtres
Effacer les filtres

How do I create a CSV with 2 columns and headers

37 vues (au cours des 30 derniers jours)
Rae Pond
Rae Pond le 11 Mai 2018
Commenté : Image Analyst le 12 Mai 2018
Greetings, I am stuck and can sure use some guidance. I have calculated the mean (mean2) and a standard deviation (std2) of a binary image. I am not sure how to create a CSV file that has 2 column headings for each result (mean and std). I have been playing around with these combinations: m=mean2(plant); s=std2(plant); csv('results.csv',m,s); or csv('results.csv',(m,s));
  1 commentaire
sloppydisk
sloppydisk le 11 Mai 2018
Have you checked out the documentation?
doc csvwrite
should show you how to do it.

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 11 Mai 2018
Try using fprintf():
% Create random sample data for testing.
numImages = 10; % Whatever
means = 255 * rand(numImages, 2);
stdDevs = 10 * rand(numImages, 2);
fileName = fullfile(pwd, 'Results.csv');
fid = fopen(fileName, 'wt');
% Write headers
fprintf(fid, 'Mean, Standard Deviation\n');
% Write data.
fprintf(fid, '%f, %f\n', means, stdDevs);
fclose(fid);
% Type file to command window:
type(fileName)
  2 commentaires
Rae Pond
Rae Pond le 12 Mai 2018
WOW! Thank you it's exactly what I was looking for
Image Analyst
Image Analyst le 12 Mai 2018
Then maybe you can unaccept your answer that doesn't work, and "Accept this Answer" or at least vote for it.

Connectez-vous pour commenter.

Plus de réponses (1)

Rae Pond
Rae Pond le 11 Mai 2018
Hello- I looked at the doc csvwrite and redid my code but the values are listed in a single column below one another. Am I missing where it says in the text how to create two separate columns with headings? Thank you
m= mean2(newplant); %value 0.0300
s= std2(newplant); %value 0.1706
i=[m;s];0.1706
csvwrite('test.csv',i)
  2 commentaires
sloppydisk
sloppydisk le 11 Mai 2018
If you write
i=[m;s]
you concatenate the columns downwards.
Instead you should put them next to each other like this:
i=[m s]
This will give you the desired result.
Image Analyst
Image Analyst le 12 Mai 2018
It will not because it will not "create a CSV file that has 2 column headings" as the poster requested and like the code in my answer does. This answer gives only numbers.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Data Import and Export dans Help Center et File Exchange

Produits


Version

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by