Python实现将sqlite数据库导出转成Excel(xls)表的方法


Posted in Python onJuly 17, 2017

本文实例讲述了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_COLS = ['rowid', 'type','name','tbl_name', 'rootpage','sql']
def sqlite_get_col_names(cur, table):
  query = 'select * from %s' % table
  cur.execute(query)
  return [tuple[0] for tuple in cur.description]
def sqlite_query(cur, table, col = '*', where = ''):
  if where != '':
    query = 'select %s from %s where %s' % (col, table, where)
  else:
    query = 'select %s from %s ' % (col, table)
  cur.execute(query)
  return cur.fetchall()
def sqlite_to_workbook(cur, table, workbook):
  ws = workbook.add_sheet(table)
  print 'create table %s.' % table
  for colx, heading in enumerate(sqlite_get_col_names(cur, table)):
      ws.write(0,colx, heading)
  for rowy,row in enumerate(sqlite_query(cur, table)):
    for colx, text in enumerate(row):
      ws.write(rowy+ 1, colx, text)
def main(dbpath):
  xlspath = dbpath[0:dbpath.rfind('.')] + '.xls'
  print "<%s> --> <%s>"% (dbpath, xlspath)
  db = sqlite.connect(dbpath)
  cur = db.cursor()
  w = Workbook()
  for tbl_name in [row[0] for row in sqlite_query(cur, 'sqlite_master', 'tbl_name', 'type = \'table\'')]:
    sqlite_to_workbook(cur,tbl_name, w)
  cur.close()
  db.close()
  if tbl_name !=[]: w.save(xlspath)
if __name__ == "__main__":
  # arg == database path
  main(sys.argv[1])

4. 用法:

> python  <path>/db2xls.py  dbpath

如果没错,会在数据库的目录下生成同名的xls文件

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python学生成绩管理系统简洁版
Apr 05 Python
Python打印输出数组中全部元素
Mar 13 Python
Python实现按中文排序的方法示例
Apr 25 Python
使用Python实现租车计费系统的两种方法
Sep 29 Python
Python中实例化class的执行顺序示例详解
Oct 14 Python
用Python逐行分析文件方法
Jan 28 Python
python itchat给指定联系人发消息的方法
Jun 11 Python
python使用装饰器作日志处理的方法
Jul 11 Python
Python实现点云投影到平面显示
Jan 18 Python
Python 一行代码能实现丧心病狂的功能
Jan 18 Python
keras实现VGG16 CIFAR10数据集方式
Jul 07 Python
Python爬取数据并实现可视化代码解析
Aug 12 Python
Python下实现的RSA加密/解密及签名/验证功能示例
Jul 17 #Python
Python 的类、继承和多态详解
Jul 16 #Python
PyQt 线程类 QThread使用详解
Jul 16 #Python
Pycharm技巧之代码跳转该如何回退
Jul 16 #Python
Python基础教程之浅拷贝和深拷贝实例详解
Jul 15 #Python
Python利用flask sqlalchemy实现分页效果
Aug 02 #Python
Python实现发送QQ邮件的封装
Jul 14 #Python
You might like
php使用curl模拟登录后采集页面的例子
2013/11/04 PHP
ThinkPHP的Widget扩展实例
2014/06/19 PHP
php强制更新图片缓存的方法
2015/02/11 PHP
php使用parse_url和parse_str解析URL
2015/02/22 PHP
php类自动加载器实现方法
2015/07/28 PHP
php实现的简单多进程服务器类完整示例
2020/02/01 PHP
页面中js执行顺序
2009/11/09 Javascript
通过javascript获取iframe里的值示例代码
2013/06/24 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
2016/04/29 Javascript
canvas学习之API整理笔记(一)
2016/12/29 Javascript
原生js实现鼠标跟随效果
2017/02/28 Javascript
JS+CSS实现下拉刷新/上拉加载插件
2017/03/31 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
如何在JavaScript中创建具有多个空格的字符串?
2020/02/23 Javascript
vue+iview实现分页及查询功能
2020/11/17 Vue.js
[03:36]DOTA2完美大师赛coL战队趣味视频——我演你猜
2017/11/23 DOTA
Python最基本的数据类型以及对元组的介绍
2015/04/14 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
2016/04/13 Python
Python 绘图和可视化详细介绍
2017/02/11 Python
Python字典操作详细介绍及字典内建方法分享
2018/01/04 Python
python 解压pkl文件的方法
2018/10/25 Python
kafka-python批量发送数据的实例
2018/12/27 Python
对Python定时任务的启动和停止方法详解
2019/02/19 Python
django 基于中间件实现限制ip频繁访问过程详解
2019/07/30 Python
python破解bilibili滑动验证码登录功能
2019/09/11 Python
pygame实现俄罗斯方块游戏(基础篇3)
2019/10/29 Python
基于SpringBoot构造器注入循环依赖及解决方式
2020/04/26 Python
法国一家芭蕾舞鞋公司:Repetto
2018/11/12 全球购物
贝尔帐篷精品店:Bell Tent Boutique
2019/06/12 全球购物
cf战队收人广告词
2014/03/14 职场文书
2014年班主任自我评价范文
2014/04/23 职场文书
经验交流材料格式
2014/12/30 职场文书
婚礼父母答谢词
2015/01/04 职场文书
三十年同学聚会感言
2015/07/30 职场文书
vue项目配置sass及引入外部scss文件
2022/04/14 Vue.js