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的常见命令注入威胁
Feb 18 Python
python中wx将图标显示在右下角的脚本代码
Mar 08 Python
Python设计模式之单例模式实例
Apr 26 Python
Python中的Descriptor描述符学习教程
Jun 02 Python
基于Python的接口测试框架实例
Nov 04 Python
使用Python微信库itchat获得好友和群组已撤回的消息
Jun 24 Python
Python中利用aiohttp制作异步爬虫及简单应用
Nov 29 Python
python程序快速缩进多行代码方法总结
Jun 23 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
Aug 20 Python
Django stark组件使用及原理详解
Aug 22 Python
简单了解如何封装自己的Python包
Jul 08 Python
利用Python批量识别电子账单数据的方法
Feb 08 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编程最快明白(第一讲 软件环境和准备工作)
2010/10/25 PHP
写出高质量的PHP程序
2012/02/04 PHP
解析用PHP读写音频文件信息的详解(支持WMA和MP3)
2013/05/10 PHP
ThinkPHP 表单自动验证运用示例
2014/10/13 PHP
两种php实现图片上传的方法
2016/01/22 PHP
php简单创建zip压缩文件的方法
2016/04/30 PHP
php set_include_path函数设置 include_path 配置选项
2016/10/30 PHP
php实现等比例不失真缩放上传图片的方法
2016/11/14 PHP
php实现留言板功能(会话控制)
2017/05/23 PHP
jquery垂直公告滚动实现代码
2013/12/08 Javascript
JS 操作Array数组的方法及属性实例解析
2014/01/08 Javascript
JS实现div居中示例
2014/04/17 Javascript
JS判断、校验MAC地址的2个实例
2014/05/05 Javascript
对JavaScript客户端应用编程的一些建议
2015/06/24 Javascript
完美解决JS文件页面加载时的阻塞问题
2016/12/18 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
JQuery 进入页面默认给已赋值的复选框打钩
2017/03/23 jQuery
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
JS实现图片转换成base64的各种应用场景实例分析
2018/06/22 Javascript
Vue文件配置全局变量的实例
2018/09/06 Javascript
浅谈webpack devtool里的7种SourceMap模式
2019/01/14 Javascript
react native 原生模块桥接的简单说明小结
2019/02/26 Javascript
JavaScript使用ul中li标签实现删除效果
2019/04/15 Javascript
微信小程序人脸识别功能代码实例
2019/05/07 Javascript
layer弹出层自适应高度,垂直水平居中的实现
2019/09/16 Javascript
python中使用zip函数出现错误的原因
2018/09/28 Python
学会迭代器设计模式,帮你大幅提升python性能
2021/01/03 Python
使用tkinter实现三子棋游戏
2021/02/25 Python
欧舒丹比利时官网:L’OCCITANE比利时
2017/04/25 全球购物
Glamest意大利:女性在线奢侈品零售店
2019/04/28 全球购物
如何利用cmp命令比较文件
2013/09/23 面试题
教学质量评估实施方案
2014/03/17 职场文书
2015年全国科普日活动总结
2015/03/23 职场文书
教育教学读书笔记
2015/07/02 职场文书
大学生十八大感想
2015/08/11 职场文书
深入理解go缓存库freecache的使用
2022/02/15 Golang