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

5

我正在尝试在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的struct包,但由于我对数据格式知之甚少,因此无法使用它来解决问题。因此,任何帮助都将不胜感激...

1个回答

5
在numpy中,ieee-le浮点类型为'<f4',它的意思是“4字节小端浮点数”。
因此,您可以使用以下方式打开文件:
data = np.fromfile(filename, dtype='<f4', count=count)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接