微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python sqlite3以字典形式返回查询结果

sqlite3本身并没有像pyMysqL一样原生提供字典形式的游标。

cursor = conn.cursor(pyMysqL.cursors.DictCursor)

但官方文档里已经有预留了相应的实现方案。

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

使用这个函数代替conn.raw_factory属性即可。

con = sqlite3.connect(":memory:") #打开在内存里的数据库
con.row_factory = dict_factory
cur = con.cursor()
cur.execute("select 1 as a")
print cur.fetchone()["a"]

官方文档链接: https://docs.python.org/2/library/sqlite3.html#sqlite3.Connection.row_factory

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐