python - 从字节元组创建浮点数
问题描述
我正在尝试从 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
重新创建浮点数列表?
解决方案
连接您的元组以获取包含原始数据的唯一字符串,然后对其使用 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))
推荐阅读
- excel - 将标题转换为单元格并加入
- spring - 创建 bean 'kafkaMessageChannelBinder' 定义的 org.springframework.cloud.stream.binder.kafka.config.KafkaBinderConfiguration 时出错:
- keras - 无效参数:在空标签后面看到一个非空标签(索引 >= num_classes - 1)
- c# - 信号量锁导致死锁
- python - Heroku 部署问题 - 找不到 python 应用程序
- python - 如何使sympi排列公式以使分子中的最高阶系数为1
- node.js - Angular Mat-Form 导致网页在没有错误代码的情况下崩溃
- javascript - Javascript - isNaN and parseInt
- powershell - 如何在 powershell 脚本中创建调度程序任务路径的集合
- google-bigquery - 如何在 BigQuery 中将 8 字节双精度数(小端序)解析为 float64?