Python实现Sqlite将字段当做索引进行查询的方法


Posted in Python onJuly 21, 2016

本文实例讲述了Python实现Sqlite将字段当做索引进行查询的方法。分享给大家供大家参考,具体如下:

默认从sqlite中获取到的数据是数字索引的, 在开发阶段经常有修改数据库所以显得不太方便, 其实在python源码里就有解决方案, 直接读sqlite3的源码, 摸索了一些, 解决方案如下:

默认连接的话使用一下代码是以数字为索引的:

conn = sqlite3.connect(dbfile)
cur = conn.cursor()

为了使得获取到的结果集以字段为索引, 需要添加一个函数和一个类:

def dict_factory(cursor, row):
  d = {}
  for idx, col in enumerate(cursor.description):
    d[col[0]] = row[idx]
  return d
class MyCursor(sqlite3.Cursor):
  def __init__(self, *args, **kwargs):
    sqlite3.Cursor.__init__(self, *args, **kwargs)
    self.row_factory = dict_factory

然后修改连接的代码:

conn = sqlite3.connect(dbfile)
cur = conn.cursor(factory=MyCursor)

之后读取出来的便是以字段为索引的了.

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python类的定义、继承及类对象使用方法简明教程
May 08 Python
Python使用Srapy框架爬虫模拟登陆并抓取知乎内容
Jul 02 Python
Python算法输出1-9数组形成的结果为100的所有运算式
Nov 03 Python
Python实现k-means算法
Feb 23 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
May 24 Python
Python多线程处理实例详解【单进程/多进程】
Jan 30 Python
python basemap 画出经纬度并标定的实例
Jul 09 Python
python opencv将表格图片按照表格框线分割和识别
Oct 30 Python
对python中各个response的使用说明
Mar 28 Python
使用 django orm 写 exists 条件过滤实例
May 20 Python
Pytorch转keras的有效方法,以FlowNet为例讲解
May 26 Python
DataFrame 数据合并实现(merge,join,concat)
Jun 14 Python
python装饰器初探(推荐)
Jul 21 #Python
python魔法方法-自定义序列详解
Jul 21 #Python
浅谈Python 字符串格式化输出(format/printf)
Jul 21 #Python
分享python数据统计的一些小技巧
Jul 21 #Python
python中print的不换行即时输出的快速解决方法
Jul 20 #Python
Python全局变量用法实例分析
Jul 19 #Python
python对象及面向对象技术详解
Jul 19 #Python
You might like
PHP实现根据浏览器跳转不同语言页面代码
2013/08/02 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
2016/04/02 PHP
完美解决Thinkphp3.2中插入相同数据的问题
2017/08/01 PHP
用于table内容排序
2006/07/21 Javascript
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
jQueryUI写一个调整分类的拖放效果实现代码
2012/05/10 Javascript
Javascript模块化编程(三)require.js的用法及功能介绍
2013/01/17 Javascript
基于jquery中children()与find()的区别介绍
2013/04/26 Javascript
把字符串按照特定的字母顺序进行排序的js代码
2014/01/28 Javascript
javascript中解析四则运算表达式的算法和示例
2014/08/11 Javascript
jQuery 遍历函数详解
2015/07/05 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
如何解决手机浏览器页面点击不跳转浏览器双击放大网页
2016/07/01 Javascript
JS搜狐面试题分析
2016/12/16 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
2017/09/19 Javascript
vue项目常用组件和框架结构介绍
2017/12/24 Javascript
vue中添加mp3音频文件的方法
2018/03/02 Javascript
vue之延时刷新实例
2019/11/14 Javascript
[54:09]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
[01:03:50]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第二场 2月7日
2021/03/11 DOTA
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
python实现基于两张图片生成圆角图标效果的方法
2015/03/26 Python
Python查询阿里巴巴关键字排名的方法
2015/07/08 Python
使用python 爬虫抓站的一些技巧总结
2018/01/10 Python
python实现维吉尼亚算法
2019/03/20 Python
用CSS3的box-reflect来制作倒影效果
2016/11/15 HTML / CSS
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
运动会稿件200字
2014/02/07 职场文书
课程改革实施方案
2014/03/16 职场文书
听课评语大全
2014/04/30 职场文书
幼儿园课题实施方案
2014/05/14 职场文书
搞笑结婚保证书
2015/05/08 职场文书
食品药品安全责任书
2015/05/11 职场文书
法人身份证明书
2015/06/18 职场文书
2016年小学优秀班主任事迹材料
2016/02/29 职场文书
Redis的字符串是如何实现的
2021/10/24 Redis