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的Django框架中设置日期和字段可选的方法
Jul 17 Python
python抓取网页中图片并保存到本地
Dec 01 Python
简单讲解Python编程中namedtuple类的用法
Jun 21 Python
利用Python实现命令行版的火车票查看器
Aug 05 Python
Python实现针对中文排序的方法
May 09 Python
Tensorflow 利用tf.contrib.learn建立输入函数的方法
Feb 08 Python
Python3爬虫学习入门教程
Dec 11 Python
通过实例解析python创建进程常用方法
Jun 19 Python
python等待10秒执行下一命令的方法
Jul 19 Python
详解如何在PyCharm控制台中输出彩色文字和背景
Aug 17 Python
2020版Python学习路线图(附学习资料)
Sep 15 Python
解决python绘图使用subplots出现标题重叠的问题
Apr 30 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项目的方法
2006/10/09 PHP
CURL状态码列表(详细)
2013/06/27 PHP
PHP 提取图片img标记中的任意属性的简单实例
2013/12/10 PHP
php die()与exit()的区别实例详解
2016/12/03 PHP
JavaScript 组件之旅(四):测试 JavaScript 组件
2009/10/28 Javascript
firefox插件Firebug的使用教程
2010/01/02 Javascript
JS获取当前日期和时间的简单实例
2013/11/19 Javascript
JavaScript实现定时隐藏与显示图片的方法
2015/08/06 Javascript
javascript合并表格单元格实例代码
2016/01/03 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
vue,angular,avalon这三种MVVM框架优缺点
2016/04/27 Javascript
Javascript基础_标记文字的实现方法
2016/06/14 Javascript
详解Javascript函数声明与递归调用
2016/10/22 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
2016/12/24 Javascript
详解前后端分离之VueJS前端
2017/05/24 Javascript
JavaScript实现微信红包算法及问题解决方法
2018/04/26 Javascript
微信小程序websocket聊天室的实现示例代码
2019/02/12 Javascript
如何解决jQuery 和其他JS库的冲突
2020/06/22 jQuery
[47:42]完美世界DOTA2联赛PWL S2 GXR vs Ink 第一场 11.19
2020/11/20 DOTA
Python内置函数dir详解
2015/04/14 Python
Python实现大文件排序的方法
2015/07/10 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
2017/08/08 Python
Python将多份excel表格整理成一份表格
2018/01/03 Python
python实现RabbitMQ的消息队列的示例代码
2018/11/08 Python
20行python代码的入门级小游戏的详解
2019/05/05 Python
python笔记_将循环内容在一行输出的方法
2019/08/08 Python
Python如何在DataFrame增加数值
2020/02/14 Python
利用Canvas模仿百度贴吧客户端loading小球的方法示例
2017/08/13 HTML / CSS
HTML5实现可缩放时钟代码
2017/08/28 HTML / CSS
美国名表在线商城:Ashford(支持中文)
2019/09/24 全球购物
中式婚礼主持词
2014/03/13 职场文书
学校门卫岗位职责
2014/03/16 职场文书
群众路线教育党员自我剖析材料
2014/10/06 职场文书
销售助理岗位职责
2015/02/11 职场文书
2015年秋季小学开学标语
2015/07/16 职场文书
MySQL 查询速度慢的原因
2021/05/25 MySQL