将numpy数组逐行保存到txt文件

2022-01-24 00:00:00 python numpy save

问题描述

我有一个 numpy 表单数组

I have an numpy array of form

a = [1,2,3]

我想将其保存到 .txt 文件中,使文件看起来像:

which I want to save to a .txt file such that the file looks like:

1 2 3

如果我使用 numpy.savetxt,那么我会得到一个类似的文件:

If I use numpy.savetxt then I get a file like:

1
2
3

我想应该有一个简单的解决方案,有什么建议吗?

There should be a easy solution to this I suppose, any suggestions?


解决方案

如果numpy >= 1.5,你可以这样做:

#注意文件名用双引号括起来,
# 示例文件名.txt"

# note that the filename is enclosed with double quotes,
# example "filename.txt"

numpy.savetxt("filename", a, newline=" ")

编辑

几个长度相同的一维数组

several 1D arrays with same length

a = numpy.array([1,2,3])
b = numpy.array([4,5,6])
numpy.savetxt(filename, (a,b), fmt="%d")

# gives:
# 1 2 3
# 4 5 6

几个可变长度的一维数组

several 1D arrays with variable length

a = numpy.array([1,2,3])
b = numpy.array([4,5])

with open(filename,"w") as f:
    f.write("
".join(" ".join(map(str, x)) for x in (a,b)))

# gives:
# 1 2 3
# 4 5

相关文章