【发布时间】:2021-03-30 03:33:40
【问题描述】:
我想更正 txt 文件中变量的格式(显示在末尾,用空格替换制表符空格),使用下一个 Matlab 代码(之前导入):
id = fopen('datoscorfecha.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 datoscorfecha.txt
但我收到此错误:
使用 fprintf 时出错 无法将“字符串”值转换为 'int64'。
Fecha dia mes ano hora min abs370
03/06/2016 00:00 3 6 2016 0 0 29.356218
03/06/2016 00:05 3 6 2016 0 5 30.45703
03/06/2016 00:10 3 6 2016 0 10 27.53877
03/06/2016 00:15 3 6 2016 0 15 23.19832
03/06/2016 00:20 3 6 2016 0 20 22.333924
03/06/2016 00:25 3 6 2016 0 25 22.086426
03/06/2016 00:30 3 6 2016 0 30 20.933898
【问题讨论】:
-
请阅读minimal reproducible example。该错误抱怨
fecha和/或datos的内容,但我们不知道这些变量包含什么。 -
@CrisLuengo 。请阅读所有问题。
-
我已经阅读了整个问题。我无法运行你的代码,我无法告诉你如何修复它。
-
@CrisLuengo。我明确了所有变量和分隔符,所以我不知道你需要什么。也许您需要导入(使用 Matlab 接口)然后使用代码。请检查一下。
-
datos = cat(2,dia, mes, ano, hora, min1, abs370);行有 6 个未定义的变量。帖子底部的部分没有定义这些变量是如何定义的:它们都是字符串吗?一个是datetime对象,另一个是双打对象吗?有一些整数吗?这些是数值数组还是元胞数组?请编写为这些变量分配一些值的代码,以便我们重现您的问题。
标签: matlab import printing format fopen