如何用python在多列中编写一维数组

时间:2013-09-02 21:56:42

标签: python arrays numpy

我正在尝试用Python中的savetxt写一个1-D数组来存档几个列。我没有找到允许这样做的选项。比方说我有一个包含13个元素的一维数组,我想写成5列,如下所示:

1  2  3  4  5

6  7  8  9  10

11 12

我正在使用:

np.savetxt('temp_test.dat',x,fmt='%11.9e',delimiter=',',newline=' ')

如何指定列数?

由于

安东尼

1 个答案:

答案 0 :(得分:0)

您可以指定块大小并循环:

orig_a = np.arange(1, 14)
chunk_size = 5
i = 0
with open('test.txt', 'w') as f:
    a = orig_a[i * chunk_size:(i + 1) * chunk_size]

    while len(a):
        a = orig_a[i * chunk_size:(i + 1) * chunk_size]
        np.savetxt(f, a[np.newaxis], fmt='%d')
        i += 1

给出:

In [14]: cat test.txt
1 2 3 4 5
6 7 8 9 10
11 12 13

请注意,对于具有多行的数组,这将是低效的。