我正在尝试使用numpy的savetxt
函数生成一堆文件作为另一个软件的输入。
我正在尝试编写一个表单数组:
a=np.array([1,2,3,4,...])
a.shape=>(1,n)
到带格式的文本文件 1,2,3,4,...
当我输入命令
时np.savetxt('test.csv',a,fmt='%d',delimiter=',')
我得到一个看起来像的文件:
1
2
3
4
...
savetxt
正如我对2D数组所期望的那样工作,但我无法将1D数组的所有值都放在一行上
有什么建议吗?
由于
修改
我解决了这个问题。使用np.atleast_2d(a)
作为savetxt的输入强制savetxt将数组写为行而不是列
答案 0 :(得分:11)
有不同的方法来解决这个问题。最接近您当前方法的是:
np.savetxt('test.csv', a[None], fmt='%d', delimiter=',')
即。将切片[None]
添加到数组中,使其只有一行二维。
答案 1 :(得分:1)
如果您只想保存一维数组,使用此方法实际上要快得多:
>>> x = numpy.array([0,1,2,3,4,5])
>>> ','.join(map(str, x.tolist()))
'0,1,2,3,4,5'