数据库返回默认是以 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
即可
如果本文对你有帮助,欢迎打赏本站