Python Sqlite3以字典形式返回查询结果的实现方法

702次阅读  |  发布于5年以前

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"]

官方文档链接

以上就是小编为大家带来的Python Sqlite3以字典形式返回查询结果的实现方法全部内容了,希望大家多多支持脚本之家~

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8