Write data to csv, headings start with numbers
4 views (last 30 days)
Show older comments
I want to write some data to .csv file, but the headers I need (to keep the format the same as previous files) start with numbers. So I guess I have to write the first line as a char vector, and then write the data.
I tried:
writeTable(OutputData,OutputFileName);
NewHeaderLine = 'DateTime,40cumecs,50cumecs,60cumecs,70cumecs,80cumecs';
fid = fopen(OutputFileName,'w');
fprintf(fid,'%s\n',NewHeaderLine);
fclose(fid);
But this clears the additional data. How can I write both data and non-standard text to a .csv file? I've looked at a bunch of help files but all seem to append numeric data rather than text, so they don't apply in this case.
0 Comments
Answers (1)
Walter Roberson
on 26 Jul 2018
Perhaps write the header first like you do, and then use dlmwrite() with -append
2 Comments
Walter Roberson
on 27 Jul 2018
Unfortunately writetable() cannot append to text files.
Sometimes the easiest way is to write the two parts (header and table) to different files and then use operating system utilities to splice them together. In particular for MS Windows,
system('copy FileName1+FileName2 FileName3')
effectively appends FileName1 and FileName2 to form FileName3
See Also
Categories
Find more on Text Files in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!