Write string and table (in that order) to text file

I need to write a string and a table to one text file. The string contains a description of the data in the table, but is not the headers for the table. I am using R2019a which I guess means the "Append" writetable option does not work? Please see my example data below:
% Load data
load cereal.mat;
table = table(Calories, Carbo, Cups, Fat, Fiber, Mfg, Name, Potass);
string = {'This is a string about the cereal table'};
filename = "dummyoutput.sfc";
% How I tried to do this (which does not work!)
fid = fopen(filename, 'w', 'n');
fprintf(fid, '%s', cell2mat(string))
fclose(fid);
writetable(table, filename, 'FileType', 'text', 'WriteVariableNames', 0, 'Delimiter', 'tab', 'WriteMode', 'Append')
I get this error (because 'WriteMode' was introduced in R2020a)
Error using writetable (line 155)
Wrong number of arguments.
Does anyone have a workaround for this?
Thanks!

 채택된 답변

Melissa Buechlein
Melissa Buechlein 2020년 7월 13일
I doubt this is the most efficent workaround, but it solved my issue.
writetable(table, filename, 'WriteVariableNames', 0,...
'FileType', 'text', 'Delimiter', 'space', 'QuoteStrings', false)
content = fileread(filename);
% Update the file
content = {cell2mat(header{:}); content};
% go back and remove empty lines
newcontent = regexprep(content, {'\r', '\n\n+'}, {'', '\n'});
% write the full file
writecell(newcontent, filename, 'FileType', 'text', 'QuoteStrings', false);

추가 답변 (1개)

Takumi
Takumi 2020년 7월 13일
편집: Takumi 2020년 7월 13일

0 개 추천

댓글 수: 4

My output needs to a text file with a '.sfc' extension, which I does not seem possible with that function :(
Takumi
Takumi 2020년 7월 13일
Oops, I'm sorry, I missed it.
Takumi
Takumi 2020년 7월 13일
편집: Takumi 2020년 7월 13일
How about writing in fprintf instead of writetable?
My output table is not all of the same format, so I cannot turn it into an array. I am also unfamiliar with how to make fprintf work with cells. However, I was able to come up with a work around! Thanks for your suggestions!

댓글을 달려면 로그인하십시오.

카테고리

Community Treasure Hunt

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

Start Hunting!

Translated by