繁体   English   中英

Numpy savetxt将一维数组另存为列

[英]Numpy savetxt saves 1D array as column

我使用loadtxt初始化数组。

source = np.loadtxt('source.txt').astype(int)

之后,我在函数中使用此数组,其主体为:

file = open('johnson.txt', 'ab')
first = increase(np.argsort(source[0]))
np.savetxt(file, first, delimiter='-', fmt='%i')
file.close()

结果,在txt文件中,我应该有这个:

7-1-3-6-2-4-8-5

但是我有这个:

7
1
3
6
2
4
8
5

我必须以二进制模式打开文件,因为我需要向文件追加另一行。 那么,我该如何解决? 谢谢!

savetxt在输入数组上迭代,并将每个“行”写入新行。 对于典型的2d数组,将是一行。 但是对于一维数组,这将是一个元素。

因此,将您的写入更改为保存2d数组:

np.savetxt('test.txt', [first], delimiter=..., fmt=...)

假设first是一个1d数组,那么np.array([first])是1行2d, first[None,:]也可以工作(或reshape )。

要追加行,请以“ a”追加模式打开文件。 'wb'`二进制文件无济于事。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM