[英]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.