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处理文本文件并生成指定格式的文件
Jul 31 Python
用python简单实现mysql数据同步到ElasticSearch的教程
May 30 Python
Python实现矩阵相乘的三种方法小结
Jul 26 Python
解决PyCharm同目录下导入模块会报错的问题
Oct 13 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
Apr 04 Python
python3.6+selenium实现操作Frame中的页面元素
Jul 16 Python
在pycharm中显示python画的图方法
Aug 31 Python
Numpy之reshape()使用详解
Dec 26 Python
Python Pickle 实现在同一个文件中序列化多个对象
Dec 30 Python
Python for循环与getitem的关系详解
Jan 02 Python
django 解决扩展自带User表遇到的问题
May 14 Python
Python定义一个函数的方法
Jun 15 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
Yii框架form表单用法实例
2014/12/04 PHP
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
2008/12/19 Javascript
JavaScript中setInterval的用法总结
2013/11/20 Javascript
取消选中单选框radio的三种方式示例介绍
2013/12/23 Javascript
选择复选框按钮置灰否则按钮可用
2014/05/22 Javascript
javascript中使用正则表达式清理table样式的代码
2020/04/01 Javascript
javascript自定义滚动条实现代码
2020/04/20 Javascript
深入浅析JavaScript中的arguments对象(强力推荐)
2016/06/03 Javascript
Javascript 5种方法实现过滤删除前后所有空格
2016/06/22 Javascript
使用bootstrap validator的remote验证代码经验分享(推荐)
2016/09/21 Javascript
微信公众号开发 自定义菜单跳转页面并获取用户信息实例详解
2016/12/08 Javascript
Js实现京东无延迟菜单效果实例(demo)
2017/06/02 Javascript
JS解析url查询参数的简单代码
2017/08/06 Javascript
vue+vuex+axios实现登录、注册页权限拦截
2018/03/09 Javascript
jQuery实现的滑块滑动导航效果示例
2018/06/04 jQuery
jQuery实现的页面弹幕效果【测试可用】
2018/08/17 jQuery
vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法
2018/09/19 Javascript
Vue Autocomplete 自动完成功能简单示例
2019/05/25 Javascript
Javascript基于OOP实实现探测器功能代码实例
2020/08/26 Javascript
python实现的多线程端口扫描功能示例
2017/01/21 Python
Python生成密码库功能示例
2017/05/23 Python
Python实现的快速排序算法详解
2017/08/01 Python
Django实战之用户认证(初始配置)
2018/07/16 Python
纯用NumPy实现神经网络的示例代码
2018/10/24 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
2019/08/06 Python
python matplotlib库绘制条形图练习题
2019/08/10 Python
创建Shapefile文件并写入数据的例子
2019/11/26 Python
浅析Python3 pip换源问题
2020/01/06 Python
Python进程间通信multiprocess代码实例
2020/03/18 Python
Python csv文件记录流程代码解析
2020/07/16 Python
基于HTML5 Canvas 实现商场监控实例详解
2017/11/20 HTML / CSS
有750多个顶级品牌的瑞士时尚在线:ABOUT YOU
2017/01/04 全球购物
户籍证明的格式
2014/01/13 职场文书
工作简报范文
2015/07/21 职场文书
解析高可用Redis服务架构分析与搭建方案
2021/06/20 Redis
Java使用Unsafe类的示例详解
2021/09/25 Java/Android