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端口扫描系统实现方法
Nov 19 Python
Python文件和目录操作详解
Feb 08 Python
python2.7安装图文教程
Mar 13 Python
python字典值排序并取出前n个key值的方法
Oct 17 Python
python匹配两个短语之间的字符实例
Dec 25 Python
ipython和python区别详解
Jun 26 Python
python django 原生sql 获取数据的例子
Aug 14 Python
Python简单实现区域生长方式
Jan 16 Python
python导入库的具体方法
Jun 18 Python
python创建文本文件的简单方法
Aug 30 Python
python使用numpy中的size()函数实例用法详解
Jan 29 Python
python 实现图片裁剪小工具
Feb 02 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
PHP5在Apache下的两种模式的安装
2006/09/05 PHP
用缓存实现静态页面的测试
2006/12/06 PHP
php代码书写习惯优化小结
2013/06/20 PHP
基于CakePHP实现的简单博客系统实例
2015/06/28 PHP
微信公众平台开发之天气预报功能
2015/08/31 PHP
Yii2 rbac权限控制之菜单menu实例教程
2016/04/28 PHP
Redis使用Eval多个键值自增的操作实例
2016/11/04 PHP
详解PHP中的序列化、反序列化操作
2017/03/21 PHP
PHP后台微信支付和支付宝支付开发
2017/04/28 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
php实现微信原生支付(扫码支付)功能
2018/05/30 PHP
JS取得绝对路径的实现代码
2015/01/16 Javascript
jQuery控制网页打印指定区域的方法
2015/04/07 Javascript
javascript实现捕捉键盘上按下的键
2015/05/05 Javascript
基于jquery实现表格无刷新分页
2016/01/07 Javascript
深入浅出讲解ES6的解构
2016/08/03 Javascript
jQuery模拟html下拉多选框的原生实现方法示例
2019/05/30 jQuery
Vue中jsx不完全应用指南小结
2019/11/01 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
vue渲染方式render和template的区别
2020/06/05 Javascript
小程序实现点击tab切换左右滑动
2020/11/16 Javascript
仅用50行Python代码实现一个简单的代理服务器
2015/04/08 Python
python pandas修改列属性的方法详解
2018/06/09 Python
Python中一些深不见底的“坑”
2019/06/12 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
2019/07/06 Python
mac在matplotlib中显示中文的操作方法
2020/03/06 Python
Python爬虫新手入门之初学lxml库
2020/12/20 Python
linux面试题参考答案(3)
2012/09/13 面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2013/05/03 面试题
巧克力蛋糕店创业计划书
2014/01/14 职场文书
《手指教学》反思
2014/02/14 职场文书
节约用水演讲稿
2014/05/21 职场文书
优秀大学生事迹材料
2014/12/24 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
用javascript制作qq注册动态页面
2021/04/14 Javascript
sqlserver2017共享功能目录路径不可改的解决方法
2021/04/16 SQL Server