数组的最大值不会将ASCII文本保存到fi

2024-04-26 00:17:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我将频谱图中的点读入如下数组:

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值。有趣的是,当我将整个数组转储到一个文件时,它看起来很好。有没有办法解决这个问题?你知道吗


Tags: 文件ofinselffft屏幕scipy数组
1条回答
网友
1楼 · 发布于 2024-04-26 00:17:01

numpy.savetxt数组保存到文件中,看起来maxi是python Float。使用savetxt保存标量有点不寻常(为什么不使用Python的内置文件i/o函数呢?),但如果必须这样做,这可能会起作用:

savetxt('myfilelocation', [maxi], fmt='%1.4f')

注意,我把maxi放在了一个列表中。另外,确保myfilelocation不以.gz结尾。如果有,numpy会压缩它。当它不确定时,只使用.txt,或者根本不使用扩展名。你知道吗

相关问题 更多 >