numpy.savetxt一维数组写入的问题

时间:2011-06-07 16:43:12

标签: python numpy

我正在尝试使用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将数组写为行而不是列

2 个答案:

答案 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'