python3-numpy:使用numpy savetxt附加到文件

时间:2015-01-05 19:55:42

标签: python-3.x numpy save append

我正在尝试使用numpy的savetxt函数将数据附加到文件中。以下是最低工作示例

#!/usr/bin/env python3
import numpy as np
f=open('asd.dat','a')
for iind in range(4):
    a=np.random.rand(10,10)
    np.savetxt(f,a)
f.close()

我得到的错误是关于错误类型的

  

文件“/usr/lib/python3/dist-packages/numpy/lib/npyio.py”,第1073行,   在savetxt中       fh.write(asbytes(格式为%tuple(row)+换行符))TypeError:必须是str,而不是bytes

在python2中不会发生此错误,所以我想知道问题是什么。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:28)

您应该通过二进制模式打开文件。

#!/usr/bin/env python3
import numpy as np        
f=open('asd.dat','ab')
for iind in range(4):
    a=np.random.rand(10,10)
    np.savetxt(f,a)
f.close()

参考: 如何将numpy数组写入csv文件? - Stack Overflow How to write a numpy array to a csv file?