在 Python 中读取二进制数据 (ieee-le)

Read binary data (ieee-le) in Python

我正在尝试在 Python 中打开一个二进制文件,为此我在 Matlab 中使用

data = fread(file, [rows, cols], 'float','ieee-le')

在 Python 我都试过了

data = open(file,'rb').read()&

data = np.fromfile(file, dtype=data_type, count=count)

两者都没有给出预期的结果(data_type 我尝试了信息页面上列出的所有格式)。

刚刚读取数据,前 25 个样本如下所示:

b'\xe4\xa0B\xbc\x99\x9e\x1f\xbd\xc3\x07P>m\xe0\x96=\x0c\xf6\x8a=\x90\x86\t>)

在寻找解决方案时,我无意中发现了 Python 的结构包,但由于我对数据格式几乎一无所知,因此无法使用它来解决问题。因此,我们将不胜感激任何帮助...

在numpy中,ieee-le float类型是'<f4',读作"little endian floating point of 4 bytes"。

因此您可以使用以下方式打开您的文件:

data = np.fromfile(filename, dtype='<f4', count=count)