繁体   English   中英

Python:将二进制文件读入数组

[英]Python: read binary file into an array

我试图导入二进制数据并在 python 上处理它:

with open("myData", "rb") as binary_file:

    data = binary_file.read()
    print(data)

b'\\x00\\x00\\x00\\t0.000000\\r\\x00\\x00\\x00\\t0.173902\\r\\x00\\x00\\x00\\t0.343819\\r\\x00\\x00\\x00\\t0.491724\\r \\x00\\x00\\x00\\t0.660698\\r\\x00\\x00\\x00\\t0.791551\\r\\x00\\x00\\x00\\t0.890531\\r\\x00\\x00\\x00\\t0.987400\\r\\r\\ \\x00\\x00\\t1.083403\\r\\x00\\x00\\x00\\t1.180349\\r\\x00\\x00\\x00\\t1.274278\\r\\x00\\x00\\x00\\t1.372280\\r\\x00\\x00\\ \\x00\\t1.470185\\r\\x00\\x00\\x00\\t1.570129\\r\\x00\\x00\\x00\\t1.668071\\r\\x00\\x00\\x00\\t1.764061\\r\\x00\\x00\\ \\t1.861004\\r\\x00\\x00\\x00\\t1.956906\\r\\x00\\x00\\x00\\t2.051896\\r\\x00\\x00\\x00\\t2.150841\\r\\x00\\x00\\x00\\t .249743\\r\\x00\\x00\\x00\\t2.345730\\r\\x00\\x00\\x00\\t2.443689\\r\\x00\\x00\\x00\\t2.537581\\r\\x00\\x00\\x00\\t10. \\r\\x00\\x00\\x00\\t2.738474\\r\\x00\\x00\\x00\\t2.843399\\r\\x00\\x00\\x00\\t2.941346\\r\\x00\\x00\\x00\\t3.041276\\r \\x00\\x00\\x00\\t3.138279\\r\\

以上只是我全部数据的一部分。 我试图转换为字符串,但它不起作用......

with open("D:/Python/reshape 3D/measurement data/112719_binary/time", "rb") as binary_file:

    data = binary_file.read(32)
    data = data.decode('utf-8')
    print(data)

我应该如何转换回来并将它们放入列表中? 上面的结果应该是 [0.000000, 0.173902, 0.343819.....]

您似乎有一个两列制表符分隔表的字节图像,其中第一列全为零,最后一列有其他字段,从第二列开始,并将它们转换为浮点数:

list(map(float, data.split()[1::2]))
#[0.173902, 0.491724, 0.791551, 0.98746, 1.180349,...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM