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中from module import * 的一个坑
Jul 20 Python
python处理xml文件的方法小结
May 02 Python
一篇文章读懂Python赋值与拷贝
Apr 19 Python
Python数据可视化之画图
Jan 15 Python
Python eval的常见错误封装及利用原理详解
Mar 26 Python
梅尔频率倒谱系数(mfcc)及Python实现
Jun 18 Python
详解numpy.meshgrid()方法使用
Aug 01 Python
Mac PyCharm中的.gitignore 安装设置教程
Apr 16 Python
使用python+poco+夜神模拟器进行自动化测试实例
Apr 23 Python
python 监控服务器是否有人远程登录(详细思路+代码)
Dec 18 Python
python中xlrd模块的使用详解
Feb 01 Python
Python 如何安装Selenium
May 06 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
不用iconv库的gb2312与utf-8的互换函数
2006/10/09 PHP
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
2012/02/04 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
2014/11/03 PHP
php将数组转换成csv格式文件输出的方法
2015/03/14 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
php中的单引号、双引号和转义字符详解
2017/02/16 PHP
PHP中include和require的区别实例分析
2017/05/07 PHP
jquery插件制作 自增长输入框实现代码
2012/08/17 jQuery
基于jQuery实现下拉收缩(展开与折叠)特效
2012/12/25 Javascript
Javascript判断文件是否存在(客户端/服务器端)
2014/09/16 Javascript
jquery中页面Ajax方法$.load的功能使用介绍
2014/10/20 Javascript
jQuery背景插件backstretch使用指南
2015/04/21 Javascript
ubuntu下安装nodejs以及升级的办法
2015/05/08 NodeJs
jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)
2015/12/31 Javascript
AngularJS的ng Http Request与response格式转换方法
2016/11/07 Javascript
JQuery ZTree使用方法详解
2017/01/07 Javascript
js实现表格筛选功能
2017/01/18 Javascript
Angularjs实现下拉框联动的示例代码
2017/08/22 Javascript
mint-ui在vue中的使用示例
2018/04/05 Javascript
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
2018/05/26 jQuery
JavaScript模拟实现自由落体效果
2018/08/28 Javascript
[53:21]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-CDEC
2014/05/22 DOTA
[42:22]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第一局
2016/02/27 DOTA
wxPython学习之主框架实例
2014/09/28 Python
Python3利用print输出带颜色的彩色字体示例代码
2019/04/08 Python
Python 根据日志级别打印不同颜色的日志的方法示例
2019/08/08 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
Django调用百度AI接口实现人脸注册登录代码实例
2020/04/23 Python
Beauty Expert美国/加拿大:购买奢侈美容产品
2018/12/05 全球购物
Nebula美国官网:便携式投影仪
2019/03/15 全球购物
SQL面试题
2013/12/09 面试题
感恩节活动策划方案
2014/05/16 职场文书
环保标语大全
2014/06/12 职场文书
2014党支部对照检查材料思想汇报
2014/10/05 职场文书
2019个人工作计划书的格式及范文!
2019/07/04 职场文书