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

yipeiwu_com6年前Python基础

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以字典形式返回查询结果的实现方法全部内容了,希望大家多多支持【听图阁-专注于Python设计】~

相关文章

对python 合并 累加两个dict的实例详解

比如说有两个dict:x和y 1.比较快的自己写的, def merge_dict(x,y): for k,v in x.items(): if k in y.k...

使用python判断你是青少年还是老年人

今天来给大家讲讲python中最基本的 if 条件语句,这几乎是所有编程语言中都存在的语句,只是语法结构稍有不同。 程序之所以能自动处理很多的事情,if条件语句在这里...

python黑魔法之编码转换

我们在使用其他语言的库做编码转换时,对于无法理解的字符,通常的处理也只有两种(或三种): 抛异常 替换成替代字符 跳过 但是在复杂的现实世界中,由于各种不靠谱,我们...

利用Python命令行传递实例化对象的方法

一、前言 在开发过程中,遇到了这样一个情况:我们需要在脚本中通过 suprocess.call 方法来启动另外一个脚本(脚本 B),当然啦,还得传递一些参数。在这些参数中,有一个需要传...

tensorflow入门:TFRecordDataset变长数据的batch读取详解

在上一篇文章tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用里,讲到了使用如何使用tf.data.TFRecordDatase来对tfr...