Python 是否在单行中将numpy数组保存到文件?

Python 是否在单行中将numpy数组保存到文件?,python,arrays,numpy,Python,Arrays,Numpy,在下面的代码中,我想使用“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,

在下面的代码中,我想使用“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”吗?或者我必须循环数组才能得到这个结果吗


谢谢。

这应该会产生您想要的:

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,

这将产生您想要的:

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,

如果你试着运行它,你会从文件中得到什么?你试过了吗?怎么搞的?请花点时间阅读。当我运行这段代码时,我得到了一个9行3列的文件。如果你尝试运行它,你会在文件中得到什么?你尝试了吗?怎么搞的?请花点时间阅读。当我运行这段代码时,我得到了一个9行3列的文件。