Python实现Sqlite将字段当做索引进行查询的方法
本文实例讲述了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数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
相关推荐
-
Python解析excel文件存入sqlite数据库的方法
一.建立数据库 根据需求建立数据库,建立了两个表,并保证了可以将数据存储到已有的数据库中,代码如下: import sqlite3 def createDataBase(): cn = sqlite3.connect('check.db') cn.execute('''CREATE TABLE IF NOT EXISTS TB_CHECK (ID integer PRIMARY KEY AUTOINCREMENT, NUMBER INTEGER, ITEM TEXT, REFERENCE TEX
-
Python操作sqlite3快速、安全插入数据(防注入)的实例
table通过使用下面语句创建: 复制代码 代码如下: create table userinfo(name text, email text) 更快地插入数据 在此用time.clock()来计时,看看以下三种方法的速度. 复制代码 代码如下: import sqlite3import time def create_tables(dbname): conn = sqlite3.connect(dbname) cursor = conn.cursor() cursor.e
-
python实现在sqlite动态创建表的方法
本文实例讲述了python实现在sqlite动态创建表的方法.分享给大家供大家参考.具体实现方法如下: import sqlite3 as db conn = db.connect('mytest.db') cursor = conn.cursor() cursor.execute("create table person(name text,age text,address text)") print("table created") 希望本文所述对大家的Pyth
-
Python实现将SQLite中的数据直接输出为CVS的方法示例
本文实例讲述了Python实现将SQLite中的数据直接输出为CVS的方法.分享给大家供大家参考,具体如下: 对于SQLite来说,目前查看还是比较麻烦,所以就像把SQLite中的数据直接转成Excel中能查看的数据,这样也好在Excel中做进一步分数据处理或分析,如前面文章中介绍的<使用Python程序抓取新浪在国内的所有IP>.从网上找到了一个将SQLite转成CVS的方法,贴在这里,供需要的朋友使用: import sqlite3 import csv, codecs, cStringI
-
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
本文实例讲述了Python操作SQLite数据库的方法.分享给大家供大家参考,具体如下: SQLite简介 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl.C
-
python操作数据库之sqlite3打开数据库、删除、修改示例
复制代码 代码如下: #coding=utf-8__auther__ = 'xianbao'import sqlite3# 打开数据库def opendata(): conn = sqlite3.connect("mydb.db") cur = conn.execute("""create table if not exists tianjia(id integer primary key autoincrement, user
-
Python实现将sqlite数据库导出转成Excel(xls)表的方法
本文实例讲述了Python实现将sqlite数据库导出转成Excel(xls)表的方法.分享给大家供大家参考,具体如下: 1. 假设已经安装带有sliqte 库的Python环境 我的是Python2.5 2. 下载 python xls 写操作包(xlwt)并安装 下载地址: http://pypi.python.org/pypi/xlwt 3. 下面就是代码(db2xls.py): import sqlite3 as sqlite from xlwt import * #MASTER_COL
-
python操作sqlite的CRUD实例分析
本文实例讲述了python操作sqlite的CRUD实现方法.分享给大家供大家参考.具体如下: import sqlite3 as db conn = db.connect('mytest.db') cursor = conn.cursor() cursor.execute("drop table if exists datecounts") cursor.execute("create table datecounts(date text, count int)"
-
Python标准库之sqlite3使用实例
Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言.SQLite作为后端数据库,可以搭配Python建网站,或者制作有数据存储需求的工具.SQLite还在其它领域有广泛的应用,比如HTML5和移动端.Python标准库中的sqlite3提供该数据库的接口. 我将创建一个简单的关系型数据库,为一个书店存储书的分类和价格.数据库中包含两个表:category用于记录分类,book用于记录某个书的信息.一本书归属于某一个分类,因此book有一个外键(foreign key)
-
python从sqlite读取并显示数据的方法
本文实例讲述了python从sqlite读取并显示数据的方法.分享给大家供大家参考.具体实现方法如下: import cgi, os, sys import sqlite3 as db conn = db.connect('test.db') cursor = conn.cursor() conn.row_factory = db.Row cursor.execute("select * from person") rows = cursor.fetchall() sys.stdout
随机推荐
- VB实现鼠标绘图实例代码
- Python中使用copy模块实现列表(list)拷贝
- javascript中闭包概念与用法深入理解
- python list中append()与extend()用法分享
- ASP.NET中使用TreeView显示文件的方法
- Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解
- C# winform实现登陆次数限制
- Android编程学习之异步加载图片的方法
- ajax类AJAXRequest v0.8.01 2008-01-31 最新版附使用帮助
- C语言位运算符:与、或、异或、取反、左移与右移详细介绍
- 开机更新桌面主题的批处理代码
- 简单判断MSSQL数据库版本(2000或者2005)
- 浅析JavaScript中的array数组类型系统
- javascript实现将文件保存到本地方法汇总
- 使用批处理异地备份数据(winrar)
- Android Dialog详解及实例代码
- 静态路由再发布到OSPF中
- Python进阶学习之特殊方法实例详析
- Java8中stream和functional interface的配合使用详解
- IDEA部署JavaWeb项目到Tomcat服务器的方法