sqlite3 设置返回值为字典类型

数据库返回默认是以 tuple 类型返回(为了安全起见),但有时候元组返回很不方便,如果能以字典的形式返回那就太棒了~


MySQL 设置返回字典类型是在连接数据库时设置

cursorclass = pymysql.cursors.DictCursor

即可


但是 sqlite3 数据库没有内置返回字典的方法,怎么返回字典呢?


官方给出一个解决方案

def dict_factory(cursor, row):
    d = {}
    for index, col in enumerate(cursor.description):
        d[col[0]] = row[index]
    return d

db = sqlite3.connect('*.db')
db.row_factory = dict_factory
cursor = db.cursor()

就是在连接数据库后,将 db.row_factory 方法重写为 dict_factory 方法即可


当然还有一种方式,就是在我们查询完数据后,获取游标所在位置的列名

description = cursor.description

即可

image.png

支付宝扫码打赏 微信扫码打赏

如果本文对你有帮助,欢迎打赏本站

喜欢 ()or分享
    匿名评论
  • 评论
人参与,条评论