首页 > 解决方案 > 从字节元组创建浮点数

问题描述

我正在尝试从 SQLite 数据库中读取 blob 数据并将 blobs 内容转换为浮点数列表:

import sqlite3
import struct    
conn = sqlite3.connect('my_database.sqlite')
c = conn.cursor()

c.execute('select my_column from my_table where time between \'2018-11-15 14:03:04\' and \'2018-11-15 14:03:08\'')

blob_of_data = c.fetchone() 

在他的阶段,我有一个二进制数据的元组。

如何遍历元组中的所有元素并用于struct.unpack重新创建浮点数列表?

标签: python

解决方案


连接您的元组以获取包含原始数据的唯一字符串,然后对其使用 unpack。

假设您有(此处为 Python 2):

t = ('\x00','\x00','\x80','?')
struct.unpack("f", "".join(t))

会给我所需的答案(1,)

Python3 应该是:

t = (b'\x00',b'\x00',b'\x80',b'?')
struct.unpack("f", b"".join(t))

推荐阅读