numpy 写入文本文件时在2D数组中添加空格

tvmytwxo  于 2022-12-04  发布在  其他
关注(0)|答案(2)|浏览(136)

我正在尝试将一个2D矢量存储到一个.DAT文件中,我想在每行的开头添加一个空格。所需输出的示例如下所示:

0.0000000E+00  0.0000000E+00
 2.0020020E-03  0.0000000E+00
 4.0040040E-03  0.0000000E+00
 6.0060060E-03  0.0000000E+00
 8.0080080E-03  0.0000000E+00
 1.0010010E-02  0.0000000E+00
 1.2012012E-02  0.0000000E+00

你可以看到在0、2 e-3、4 e-3等前面有一个空格。我的代码就是这样做的

data = np.column_stack((x, y))
with open('output.dat', 'w') as datfile:
    for _ in range(N):
        np.savetxt(datfile, data, delimiter = "  ")

当前输出如下所示:

0.000000000000000000e+00  0.000000000000000000e+00
1.250156269533691795e-04  0.000000000000000000e+00
2.500312539067383591e-04  0.000000000000000000e+00
3.750468808601075386e-04  0.000000000000000000e+00
5.000625078134767181e-04  0.000000000000000000e+00
6.250781347668459519e-04  0.000000000000000000e+00
7.500937617202150772e-04  0.000000000000000000e+00

正如你所看到的,每一行的前面都没有空间。你有什么解决办法吗?谢谢!

z2acfund

z2acfund1#

考虑使用np.savetxt函数的fmt参数,请注意,此参数会将数字精度设置为与所需输出中的数字精度相同。还要注意fmt字符串开头的空格:
np.savetxt(datfile, data, fmt=" %1.7E %1.7E")
有关这方面的更多信息,请参阅NumPy documentation和Python string模块文档

4jb9z9bj

4jb9z9bj2#

使用循环和f弦:
第一个

相关问题