Pal*_*lle 32 python numpy save
我有一个numpy数组
a = [1,2,3]
Run Code Online (Sandbox Code Playgroud)
我想保存到.txt文件,使文件看起来像:
1 2 3
Run Code Online (Sandbox Code Playgroud)
如果我使用numpy.savetxt然后我得到一个文件,如:
1
2
3
Run Code Online (Sandbox Code Playgroud)
我想应该有一个简单的解决方案,任何建议?
Ava*_*ris 40
如果numpy >= 1.5,你可以这样做:
#注意文件名用双引号括起来,
#example"filename.txt"
numpy.savetxt("filename", a, newline=" ")
Run Code Online (Sandbox Code Playgroud)
编辑
几个长度相同的1D阵列
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
Run Code Online (Sandbox Code Playgroud)
几个可变长度的1D阵列
a = numpy.array([1,2,3])
b = numpy.array([4,5])
with open(filename,"w") as f:
f.write("\n".join(" ".join(map(str, x)) for x in (a,b)))
# gives:
# 1 2 3
# 4 5
Run Code Online (Sandbox Code Playgroud)
Hoo*_*ked 16
另一个答案是重新整形数组,使其具有如下尺寸(1, N):
savetext(filename, a.reshape(1, a.shape[0]))
Run Code Online (Sandbox Code Playgroud)
import numpy
a = numpy.array([1,2,3])
with open(r'test.txt', 'w') as f:
f.write(" ".join(map(str, a)))
Run Code Online (Sandbox Code Playgroud)
我发现,对于仍需要换行符的情况,接受的答案中的第一个解决方案是有问题的。该问题最简单的解决方案是这样做:
numpy.savetxt(filename, [a], delimiter='\t')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
78836 次 |
| 最近记录: |