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 03 Python
超简单使用Python换脸实例
Mar 27 Python
11个Python Pandas小技巧让你的工作更高效(附代码实例)
Apr 30 Python
深入了解如何基于Python读写Kafka
Dec 31 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
Jan 10 Python
解决Tensorflow sess.run导致的内存溢出问题
Feb 05 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
Feb 12 Python
基于Python实现下载网易音乐代码实例
Aug 10 Python
利用python汇总统计多张Excel
Sep 22 Python
Python批量获取并保存手机号归属地和运营商的示例
Oct 09 Python
Jupyter Notebook安装及使用方法解析
Nov 12 Python
如何用PyPy让你的Python代码运行得更快
Dec 02 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/10/09 PHP
PHP中全面阻止SQL注入式攻击分析小结
2012/01/30 PHP
本地机apache配置基于域名的虚拟主机详解
2013/08/10 PHP
PHP substr()函数参数解释及用法讲解
2017/11/23 PHP
PHP基于openssl实现非对称加密代码实例
2020/06/19 PHP
showModelessDialog()使用详解
2006/09/21 Javascript
Javascript 鼠标移动上去小三角形滑块缓慢跟随效果
2013/04/26 Javascript
js onload事件不起作用示例分析
2013/10/09 Javascript
使用Javascript简单实现图片无缝滚动
2014/12/05 Javascript
jQuery中end()方法用法实例
2015/01/08 Javascript
javascript检测两个数组是否相似
2015/05/19 Javascript
javascript实现密码验证
2015/11/10 Javascript
nodejs调取微信收货地址的方法
2017/12/20 NodeJs
vue better-scroll插件使用详解
2018/01/25 Javascript
JS中使用new Option()实现时间联动效果
2018/12/10 Javascript
Vue项目打包部署到iis服务器的配置方法
2019/10/14 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
2020/06/02 Javascript
JSON stringify方法原理及实例解析
2020/10/23 Javascript
基于Python 的进程管理工具supervisor使用指南
2016/09/18 Python
Python学习pygal绘制线图代码分享
2017/12/09 Python
python读取中文txt文本的方法
2018/04/12 Python
Python实现针对给定字符串寻找最长非重复子串的方法
2018/04/21 Python
pandas带有重复索引操作方法
2018/06/08 Python
windows下搭建python scrapy爬虫框架步骤
2018/12/23 Python
Python解释器以及PyCharm的安装教程图文详解
2020/02/26 Python
Django如何继承AbstractUser扩展字段
2020/11/27 Python
CSS3弹性盒模型开发笔记(二)
2016/04/26 HTML / CSS
利用canvas实现图片压缩的示例代码
2018/07/17 HTML / CSS
英国家居用品和家居装饰品购物网站:Cox & Cox
2019/08/25 全球购物
社区端午节活动方案
2014/01/28 职场文书
考试违纪检讨书
2014/02/02 职场文书
卫生院健康教育实施方案
2014/06/07 职场文书
英语通知范文
2015/04/22 职场文书
深入理解Vue的数据响应式
2021/05/15 Vue.js
Pytorch 如何实现LSTM时间序列预测
2021/05/17 Python
python+pyhyper实现识别图片中的车牌号思路详解
2022/12/24 Python