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 相关文章推荐
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
Jan 17 Python
python3.5使用tkinter制作记事本
Jun 20 Python
如何用python整理附件
May 13 Python
Python下使用Scrapy爬取网页内容的实例
May 21 Python
python pandas 对series和dataframe的重置索引reindex方法
Jun 07 Python
Python 数据可视化pyecharts的使用详解
Jun 26 Python
Django中自定义查询对象的具体使用
Oct 13 Python
详解python statistics模块及函数用法
Oct 27 Python
python3获取文件中url内容并下载代码实例
Dec 27 Python
Python编程快速上手——选择性拷贝操作案例分析
Feb 28 Python
Python编程快速上手——疯狂填词程序实现方法分析
Feb 29 Python
Python Web项目Cherrypy使用方法镜像
Nov 05 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
第五节--克隆
2006/11/16 PHP
php递归json类实例
2014/12/02 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
2016/11/05 PHP
javascript tips提示框组件实现代码
2010/11/19 Javascript
自制基于jQuery的智能提示插件一枚
2011/02/18 Javascript
jquery实现图片裁剪思路及实现
2013/08/16 Javascript
jQuery对象初始化的传参方式
2015/02/26 Javascript
jquery在ie7下选择器的问题导致append失效的解决方法
2016/01/10 Javascript
AngularJS实用开发技巧(推荐)
2016/07/13 Javascript
深入分析javascript中console命令
2016/08/14 Javascript
解析利用javascript如何判断一个数为素数
2016/12/08 Javascript
微信小程序 页面滑动事件的实例详解
2017/10/12 Javascript
详解NODEJS的http实现
2018/01/04 NodeJs
vue2单元测试环境搭建
2018/05/24 Javascript
浅谈JS的原型和继承
2019/05/08 Javascript
ligerUI的ligerDialog关闭刷新的方法
2019/09/27 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
2020/10/17 Javascript
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
简单讲解Python中的闭包
2015/08/11 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
2018/06/11 Python
python基于FTP实现文件传输相关功能代码实例
2019/09/28 Python
python argparser的具体使用
2019/11/10 Python
python 实现将list转成字符串,中间用空格隔开
2019/12/25 Python
Pytorch训练过程出现nan的解决方式
2020/01/02 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
CSS3实现的炫酷菜单代码分享
2015/03/12 HTML / CSS
澳大利亚最早和最古老的巨型游戏专家:Yardgames
2020/02/20 全球购物
htmlentities() 和 htmlspecialchars()有什么区别
2015/07/01 面试题
傲盾软件面试题
2015/08/17 面试题
介绍一下Linux中的链接
2016/06/05 面试题
会计大学生职业生涯规划书范文
2014/01/13 职场文书
函授药学自我鉴定
2014/02/07 职场文书
信息总监管理职责范本
2014/03/08 职场文书
机关作风建设自查报告及整改措施
2014/10/21 职场文书
GoLang中生成UUID唯一标识的实现
2021/05/08 Golang
浅谈Redis主从复制以及主从复制原理
2021/05/29 Redis