将numpy数组保存到一行文件中?

时间:2017-09-25 02:10:50

标签: 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,  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"或者我是否必须遍历数组才能得到这个结果?

谢谢。

1 个答案:

答案 0 :(得分:3)

这应该产生你想要的东西:

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,