将numpy数组保存到文件中,是否可以在一行内完成?

2024-04-29 21:53:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在一个文件中保存一行代码“numpy.savetxt“但我真的不确定我能不能得到这个结果。在

import numpy as np

if __name__ == '__main__':
    array = np.array([[ 6, -2.86751284, -0.35808319,  1.79360812],
        [ 6., -1.59351284, -0.02808319, -0.47039188],
        [ 6., 0.51848716,  0.21791681,  0.17060812],
        [ 6., 1.63251284, -0.12208319,  0.90460812],
        [ 6., -0.26051284,  0.03991681,  1.33660812],
        [ 6., 1.87948716,  0.43391681,  0.21960812],
        [ 6., 2.52048716,  0.45191681,  1.44760812],
        [ 6., 0.40448716,  0.04591681,  2.58360812],
        [ 6., 1.81248716,  0.30391681,  2.62260812]], np.float32)

    np.savetxt("img/file.txt", array, fmt="%.3d")

我想要一个类似“006,-002,-003,001,006,-001…”的结果,文件中的所有列和行都在一行中,但用逗号分隔。 我能用它吗numpy.savetxt“还是必须循环数组才能得到这个结果?在

谢谢。在


Tags: 文件代码nameimportnumpytxtimgif
1条回答
网友
1楼 · 发布于 2024-04-29 21:53:03

这将产生您想要的:

np.savetxt("file.txt", array.flatten(), fmt="%.3d", newline = ", ")

cat file.txt
006, -002, 000, 001, 006, -001, 000, 000, 006, 000, 000, 000, 006, 001, 
000, 000, 006, 000, 000, 001, 006, 001, 000, 000, 006, 002, 000, 001, 
006, 000, 000, 002, 006, 001, 000, 002,

相关问题 更多 >