将2D数组写入文本文件

时间:2015-11-03 20:39:45

标签: python numpy

我有一个2d数组,我想将它写入一个文件,该数组看起来几乎像这样:

>>print (arr)
[0 0 20 
0 5 520 
2 0 720
.... 
8 -20 150
0 10 10] 

当我尝试将其写入文件时,它被保存为最后一个输出,这是我使用的:

ff = open('output.txt', 'w')
ff.write(arr)

这是文件中的结果

 [0 0 20 
 0 5 520 
 2 0 720
 .... 
 8 -20 150
 0 10 10] 

我在本网站的其他问题中看到了一个解决方案 但我仍有问题,

np.ndarray.tofile(arr,"output.txt",'\n','%s')

文件中的输出如下:

0 0 20 0 50 ...

依此类推,直到数组结束

我希望输出看起来像这样:

 0 0 20 
 0 5 520 
 2 0 720
 .
 .
 .
 8 -20 150
 0 10 10

1 个答案:

答案 0 :(得分:0)

您可以将数组拆分为块并分别写入每个块。

这样的事情应该让你开始:

myarr = [1,10,100,2,20,200,3,30,300,4,40]

def split_to_chunks(myarray, e):
    return (myarray[i:i+e] for i in xrange(0, len(myarray), e))

for i in split_to_chunks(myarr, 3):
    # etc