我将频谱图中的点读入如下数组:
self.iq_fft = self.dofft(self.iq)#Gets values of all data point in block (in dB)
x = self.iq_fft #puts values into x for simplicity
maxi = max(x)
print maxi #This part works fine
def dofft(self, iq):
N = len(iq)
iq_fft = scipy.fftpack.fftshift(scipy.fft(iq))
一切都很好,它完美地将数组的最大值打印到屏幕上,但是,当我尝试将最大值保存到文件时,如下所示:
savetxt('myfilelocation', maxi, fmt='%1.4f')#saves max(x) in binary format
它最终将二进制值保存到文本文件中,而不是打印到屏幕上的漂亮的ASCII值。有趣的是,当我将整个数组转储到一个文件时,它看起来很好。有没有办法解决这个问题?你知道吗
numpy.savetxt
将数组保存到文件中,看起来maxi
是python Float。使用savetxt
保存标量有点不寻常(为什么不使用Python的内置文件i/o函数呢?),但如果必须这样做,这可能会起作用:注意,我把
maxi
放在了一个列表中。另外,确保myfilelocation
不以.gz
结尾。如果有,numpy会压缩它。当它不确定时,只使用.txt
,或者根本不使用扩展名。你知道吗相关问题 更多 >
编程相关推荐