答案 0 :(得分:1)
标准struct
模块适用于处理这样的压缩二进制数据。这是一个简单的例子:
dataFromFile = "\x67\x66\x1e\x41\x01\x00\x30\x41" # an excerpt from your data
import struct
numFloats = len(dataFromFile) // 4
# Try decoding it as little-endian
print(struct.unpack("<" + "f" * numFloats, dataFromFile))
# Output is (9.90000057220459, 11.000000953674316)
# Try decoding it as big-endian
print(struct.unpack(">" + "f" * numFloats, dataFromFile))
# Output is (1.0867023771258422e+24, 2.354450749630536e-38)
在这种情况下,小端解释看起来更有意义(9.9和11,通常的浮点不准确),所以我猜这是实际的格式。
答案 1 :(得分:0)
你可以读取文件,将其存储在字符串中,然后解析字符串并转换为float:
with open(“testfile.txt”) as file:
data = file.read()
values = data.split(" ")
floatValues = [float(x) for x in values]
或者你可以使用numpy模块或csv读取文件模块中的一些解析器