在Python中打开二进制数据

3

我希望从二进制数据文件中读取数据,在我的旧版matlab脚本中,可以通过以下方式实现:

file=fread(data,'bit16');

在Python中相当的东西是什么? 我尝试了

with open file(data, "rb") as f:
    d = np.fromfile(f, "<i2", count = 10000)

根据Matlab文档中的说明,bitn是有符号整数类型,具有n位。

我尝试了不同的数据类型("<>i2", "int16"),但不幸的是这并没有给我正确的数据。


2
你是如何编写data文件的? - Saullo G. P. Castro
1
仅供参考,np.fromfile('test.dat', np.int16) 在我的系统上可以正确地恢复使用 fwrite(fid, data, 'bit16') 从 Matlab 写入的数据。 - Joe Kington
1个回答

1
你可以尝试使用与numpy.frombuffer相关的float16数据类型,该函数处理半精度浮点数(在matlab中为bit16)。类型文档在这里

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