将数值数据写入文本文件:MATLAB至python

时间:2018-08-02 10:18:13

标签: python matlab

在将这些Matlab指令转换为Python时,我需要一些帮助:

var = [1.222222 2.33333333 3.4444444];
fmt = [repmat(' %1.4e', 1, size(var, 2)), '\n'];

fid = fopen('myfile.txt','w');
fprintf(fid, fmt, var);
fclose(fid);

其中写入文件:

 1.2222e+00 2.3333e+00 3.4444e+00

尤其是就repmat而言,我知道我应该使用tile,但不确定如何包括格式。

1 个答案:

答案 0 :(得分:2)

在Matlab中,您可以用这种方式格式化整个数组。在Python中,它要简单得多。您可以使用np.savetxt以单一格式保存整个数组:

var = ...
np.savetxt(file, var, fmt='%14e')

文件可以是文件名或文件句柄。因此,例如,如果要检查输出,只需将第一个参数传入sys.stdout