Borrar filtros
Borrar filtros

How do I create a CSV with 2 columns and headers

37 visualizaciones (últimos 30 días)
Rae Pond
Rae Pond el 11 de Mayo de 2018
Comentada: Image Analyst el 12 de Mayo de 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 comentario
sloppydisk
sloppydisk el 11 de Mayo de 2018
Have you checked out the documentation?
doc csvwrite
should show you how to do it.

Iniciar sesión para comentar.

Respuesta aceptada

Image Analyst
Image Analyst el 11 de Mayo de 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 comentarios
Rae Pond
Rae Pond el 12 de Mayo de 2018
WOW! Thank you it's exactly what I was looking for
Image Analyst
Image Analyst el 12 de Mayo de 2018
Then maybe you can unaccept your answer that doesn't work, and "Accept this Answer" or at least vote for it.

Iniciar sesión para comentar.

Más respuestas (1)

Rae Pond
Rae Pond el 11 de Mayo de 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 comentarios
sloppydisk
sloppydisk el 11 de Mayo de 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 el 12 de Mayo de 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.

Iniciar sesión para comentar.

Categorías

Más información sobre Data Import and Export en Help Center y File Exchange.

Productos


Versión

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by