-1

我正在尝试使用 Python 中的 savetxt 将一维数组写入多个列中。我没有找到允许这样做的选项。例如,我有一个包含 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=' ')

如何指定列数?

谢谢

安东尼

4

1 回答 1

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

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

于 2013-09-02T22:24:26.530 回答