Column Header for .csv file [HELP]

Hi guys ,
How to add the Column Header to the first row of my table below ?
For example , column 1 = No , column 2 = IMC (%), column 3 = Status.
I use dlmwrite() to collect my data in txt . Then , use readtable() and writetable() export data to csv. Then , I try to put column header but failed.
My current code :
dlmwrite('Data.txt',[ No ' ' IMC ' ' Status],'-append','delimiter','');
T = readtable('Data.txt','readvariablenames',false);
writetable(T,'Results.csv');
Thanks! ^^

3 comentarios

per isakson
per isakson el 14 de Mzo. de 2018
I deleted my answer to put your question on top of the list with no answers.
per isakson
per isakson el 15 de Mzo. de 2018
I failed to reproduce your results on R2016a.
zhixuan hong
zhixuan hong el 15 de Mzo. de 2018
so that is version problem right ( ?_?)

Iniciar sesión para comentar.

Respuestas (1)

Image Analyst
Image Analyst el 15 de Mzo. de 2018
Try this, where I first write out the numerical data with csvwrite(), then I open the file and insert the column headers:
data = rand(5,3); % Create sample data
% Create filename.
fullFileName = fullfile(pwd, 'delete_me.csv'); % Whatever you want...
% First write out numerical data alone.
csvwrite(fullFileName, data)
% Now read back in entire file and save it.
txt = fileread(fullFileName)
% Open the file for output.
fid = fopen(fullFileName, 'wt');
% FIrst, write the column headers
fprintf(fid, 'No, IMC (%%), Status\n');
% Next, write the text we just read in, which is all the numerical data.
fprintf(fid, '%s', txt);
fclose(fid); % Close the file.
type(fullFileName); % Type to command window to see if it worked.

5 comentarios

zhixuan hong
zhixuan hong el 15 de Mzo. de 2018
thanks for ur reply ... i will try ur ans later ^^ hopefully no version problem again. Im using r2015a.
Hi, i tried ur answer. still cant work ...
Error:
Error using fopen The file mode for fopen can not contain modes other than r, w, a, +, b, A, W or t.
Error in updateduitable>Start_analysis_Pushbutton_Callback (line 244) fid = fopen('Results.csv', 'wt ');
Code:
dlmwrite('Data.txt',[ No ' ' IMC ' ' Status],'-append','delimiter','');
T = readtable('Data.txt','readvariablenames',false);
writetable(T,'Results.csv');
txt = fileread('Results.csv' )
fid = fopen('Results.csv', 'wt ');
fprintf(fid, 'No, IMC (%%), Status\n ');
fprintf(fid, '%s', txt );
fclose(fid);
Image Analyst
Image Analyst el 16 de Mzo. de 2018
Notice that I did 'wt', not 'wt ' like you did. Why are you adding spaces after the strings I gave you?
zhixuan hong
zhixuan hong el 19 de Mzo. de 2018
Editada: zhixuan hong el 19 de Mzo. de 2018
sorry , it is my fault ... the header is ok already , but something wrong for the content (data)...
Image Analyst
Image Analyst el 19 de Mzo. de 2018
To read it back in you'll have to specify a row input argument in csvread() to skip the header line. You could also use the importdata() function.

Iniciar sesión para comentar.

Etiquetas

Preguntada:

el 13 de Mzo. de 2018

Comentada:

el 19 de Mzo. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by