首页 > 代码库 > Python Sqlite3以字典形式返回查询结果

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_factorycur = con.cursor()cur.execute("select 1 as a")print cur.fetchone()["a"]

官方文档链接

Python Sqlite3以字典形式返回查询结果