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

 

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...