Problems with fprintf format (Matlab)

1 次查看(过去 30 天)
I want to correct variables' format in a txt file, using the next code (previous import as separated arrays: skipping the first row (with text headers), defining date as a string):
id = fopen('data.txt', 'w');
fprintf(id, '%5s %3s %3s %3s %4s %3s %6s\n',...
'fecha', 'dia','mes', 'ano', 'hora', 'min', 'abs370');
datos = cat(2,dia, mes, ano, hora, min1, abs370);
datos = datos';
fecha = Fecha'; % Imported as a string
fprintf(id, '%16s %2i %2i %4i %2i %2i %8.4f\n',...
fecha, datos);
fclose(id);
type data.txt
But I get this error:
Error using fprintf Unable to convert 'string' value to 'int64'.
Why do I get this error?

回答(1 个)

Star Strider
Star Strider 2020-12-20
You have R2020a.
Use writetable instead.
  2 个评论
Isaac Hormigo
Isaac Hormigo 2020-12-24
编辑:Isaac Hormigo 2020-12-24
Ok, thanks. But why do I get this error? Is it not posible to mix both format in this way?
Star Strider
Star Strider 2020-12-24
My pleasure!
No.
Some file formats will allow that, the reason I suggest writetable. It will do all that for you.
Also, if you want to import everything, readtable is the best option. (The documentation for it is linked at the end of the writetable documentation page.)

请先登录,再进行评论。

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by