有人可以解释一下吗?
import numpy
a = ([1,2,3,45])
b = ([6,7,8,9,10])
numpy.savetxt('test.txt',(a,b))
此脚本可以很好地保存数据。但是,当我通过循环运行它时,它可以打印所有但不能全部保存。为什么?
import numpy
a = ([1,2,3,4,5])
b = ([6,7,8,9,10])
for i,j in zip(a,b):
print i,j
numpy.savetxt('test.txt',(i,j))
答案 0 :(得分:4)
每次拨打numpy.savetext()
时都会覆盖以前的数据。
使用临时缓冲区数组的解决方案:
import numpy
a = ([1,2,3,4,5])
b = ([6,7,8,9,10])
out = []
for i,j in zip(a,b):
print i,j
out.append( (i,j) )
numpy.savetxt('test.txt',out)
答案 1 :(得分:2)
numpy.savetxt
将覆盖以前写入的文件,因此您只能获得上次迭代的结果。
答案 2 :(得分:0)
你应该append
(i,j)而不是覆盖以前的
答案 3 :(得分:0)
import numpy as np
a = np.array([1,2,3,4,5])
b = np.array([6,7,8,9,10])
np.savetxt('test.txt', np.column_stack((a, b)))
答案 4 :(得分:0)
更快捷的方法是使用
打开import numpy
a = ([1,2,3,4,5])
b = ([6,7,8,9,10])
with open('test.txt','wb') as ftext: #Wb if you want to create a new one,
for i,j in zip(a,b): #ab if you want to appen it. Her it's wb
print i,j
numpy.savetxt(ftext,(i,j))
使用大型数组
会更快