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

18 visualizaciones (últimos 30 días)
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!

Respuesta aceptada

Melissa Buechlein
Melissa Buechlein el 13 de Jul. de 2020
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);

Más respuestas (1)

Takumi
Takumi el 13 de Jul. de 2020
Editada: Takumi el 13 de Jul. de 2020
  4 comentarios
Takumi
Takumi el 13 de Jul. de 2020
Editada: Takumi el 13 de Jul. de 2020
How about writing in fprintf instead of writetable?
Melissa Buechlein
Melissa Buechlein el 13 de Jul. de 2020
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!

Iniciar sesión para comentar.

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by