Problem writing in data into a csv using fprintf

1 visualizzazione (ultimi 30 giorni)
Kian
Kian il 10 Ago 2015
Commentato: Walter Roberson il 11 Ago 2015
I have a csv file I have written using csvwrite which already contains 3 lines of strings:
fid=fopen('test.csv','wt');
fprintf(fid,'abs 3.1 \n');
fprintf(fid,'This is a line \n');
fprintf(fid,'ID Date lat lon val \n');
Now I am trying to fill in data under each column with data in m which is a 10 by 4 marix. Column 1 are ids (5 digits), col.2 are dates (I want is to be in yyyymmddhhmm format but currently is in scientific notation in the table), cols. 3 and 4 are coordinates (e.g. 43.45 & -114.53), and col.5 are some values (e.g. 1.2345).
I have a hard time writing data in the csv. I am currently trying the following piece of code, but data fills in not the way it should be. Data are not stored under each header correctly.
for r=1:size(m,1)
fprintf(fid,'%5.1f',m(r,:));
if r~=size(m,1)
fprintf(fid,'\n');
end
end
Any thoughts is greatly appreciated.
Kian

Risposte (1)

Muthu Annamalai
Muthu Annamalai il 10 Ago 2015
Modificato: Muthu Annamalai il 10 Ago 2015
Have you tried csvwrite or dlmwrite ?
doc csvwrite
doc dlmwrite
  3 Commenti
Walter Roberson
Walter Roberson il 10 Ago 2015
dlmwrite('test.csv', m, '-append', 'delimiter', '\t', 'precision', '%g');
Kian
Kian il 10 Ago 2015
Modificato: Kian il 10 Ago 2015
Thank you, but didn't work.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by