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.987460\r\x00\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\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\t2.249743\r\x00\x00\x00\t2.345730\r\x00\x00\x00\t2.443689\r\x00\x00\x00\t2.537581\r\x00\x00\x00\t2.636510\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.....]
你似乎有一个双列的字节图像,制表符分隔 table,其中第一列全为零,最后一列有其他字段,从第二列开始,并将它们转换浮动:
list(map(float, data.split()[1::2]))
#[0.173902, 0.491724, 0.791551, 0.98746, 1.180349,...
我试图导入二进制数据并在 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.987460\r\x00\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\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\t2.249743\r\x00\x00\x00\t2.345730\r\x00\x00\x00\t2.443689\r\x00\x00\x00\t2.537581\r\x00\x00\x00\t2.636510\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.....]
你似乎有一个双列的字节图像,制表符分隔 table,其中第一列全为零,最后一列有其他字段,从第二列开始,并将它们转换浮动:
list(map(float, data.split()[1::2]))
#[0.173902, 0.491724, 0.791551, 0.98746, 1.180349,...