我正在读取一个文件后进行一些计算,并希望将结果(单个数字)存储到另一个文件中。我想以后能处理这个文件。我在将结果存储到文本文件中时遇到问题。
我试过这个:
c = fdata_arry[:,2]*fdata_arry[:,4]
d = np.sum(c)
print d
f = open('test','w')
f.write(d)
f.close()
这就给了我行f.write(d)
的这个错误:
Non-character array cannot be interpreted as character buffer
我也尝试过使用np.savetxt('test.dat',d)
,但这给了我:
IndexError: tuple index out of range
知道怎么解决这个问题吗?注意d
只是一个值,它是几个数字的和。
write
需要一个编码字节数组。如果仍在编写Python 2,则可以使用
f.write('{:d}\n'.format(d))
。在Python 3中,您可以改用cleaner
print(d, file=f)
。在写之前试着把d转换成一个字符串。
还要注意^{} 上下文管理器的使用,这是打开文件时始终使用的良好实践。
要写入文件,python需要的是字符串或字节,而不是数字。尝试:
或者
另一方面,如果要将numpy数组写入文件,然后将其作为numpy数组读回,请使用pickle模块。
相关问题 更多 >
编程相关推荐