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.

Categorías

Más información sobre Data Import and Export en Centro de ayuda y File Exchange.

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