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中内置的NotImplemented类型的用法
Mar 31 Python
pyenv命令管理多个Python版本
Mar 26 Python
基于Python os模块常用命令介绍
Nov 03 Python
python实现简单多人聊天室
Dec 11 Python
python实现自动获取IP并发送到邮箱
Dec 26 Python
pyqt5实现登录界面的模板
May 30 Python
简单了解python关系(比较)运算符
Jul 08 Python
执行Python程序时模块报错问题
Mar 26 Python
python中常见错误及解决方法
Jun 21 Python
如何基于Django实现上下文章跳转
Sep 16 Python
python3中celery异步框架简单使用+守护进程方式启动
Jan 20 Python
如何使用Python实现一个简易的ORM模型
May 12 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
Win2000+Apache+MySql+PHP4+PERL安装使用小结
2006/10/09 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
2014/06/12 PHP
thinkphp学习笔记之多表查询
2014/07/28 PHP
Symfony2创建页面实例详解
2016/03/18 PHP
详解PHP中curl_multi并发的实现
2020/06/08 PHP
js 调整select 位置的函数
2008/02/21 Javascript
JSON 教程 json入门学习笔记
2020/09/22 Javascript
return false,对阻止事件默认动作的一些测试代码
2010/11/17 Javascript
Web跨浏览器进程通信(Web跨域)
2013/04/17 Javascript
JavaScript 对任意元素,自定义右键菜单的实现方法
2013/05/08 Javascript
js统计页面的来访次数实现代码
2014/05/09 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
js关于命名空间的函数实例
2015/02/05 Javascript
js select下拉联动 更具级联性!
2020/04/17 Javascript
jquery.onoff实现简单的开关按钮功能(推荐)
2018/05/24 jQuery
vue 自定义指令自动获取文本框焦点的方法
2018/08/25 Javascript
js常用正则表达式集锦
2019/05/17 Javascript
2020京东618叠蛋糕js脚本(亲测好用)
2020/06/02 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
Vant 在vue-cli 4.x中按需加载操作
2020/11/05 Javascript
原生js实现弹窗消息动画
2020/11/20 Javascript
Python中字典的setdefault()方法教程
2017/02/07 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
使用keras2.0 将Merge层改为函数式
2020/05/23 Python
详解canvas绘制网络字体几种方法
2019/08/27 HTML / CSS
Oracle快照(snapshot)
2015/03/13 面试题
办公室前台岗位职责
2014/01/04 职场文书
应届优秀本科大学毕业生自我鉴定
2014/01/21 职场文书
税务会计岗位职责
2014/02/18 职场文书
预备党员2014全国两会学习心得体会
2014/03/10 职场文书
2014年关于两会精神的心得体会
2014/03/17 职场文书
化学教育专业自荐信
2014/07/04 职场文书
党的群众路线教育实践活动个人对照检查材料(校长)
2014/11/05 职场文书
迎新年主持词
2015/07/06 职场文书
《自己去吧》教学反思
2016/02/16 职场文书
详解Spring Bean的配置方式与实例化
2022/06/10 Java/Android