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 相关文章推荐
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
Jul 04 Python
30分钟搭建Python的Flask框架并在上面编写第一个应用
Mar 30 Python
python实现读取excel写入mysql的小工具详解
Nov 20 Python
python SSH模块登录,远程机执行shell命令实例解析
Jan 12 Python
Python将文本去空格并保存到txt文件中的实例
Jul 24 Python
使用Python抓取豆瓣影评数据的方法
Oct 17 Python
Python控制键盘鼠标pynput的详细用法
Jan 28 Python
Django Celery异步任务队列的实现
Jul 24 Python
解决python 文本过滤和清理问题
Aug 28 Python
Python操作word文档插入图片和表格的实例演示
Oct 25 Python
如何利用pycharm进行代码更新比较
Nov 04 Python
python实现自动化群控的步骤
Apr 11 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
修改Zend引擎实现PHP源码加密的原理及实践
2008/04/14 PHP
详解PHP安装mysql.so扩展的方法
2016/12/31 PHP
jQuery 1.5最新版本的改进细节分析
2011/01/19 Javascript
Javascript实现的类似Google的Div拖动效果代码
2011/08/09 Javascript
jQuery contains过滤器实现精确匹配使用方法
2013/04/12 Javascript
关于javascript event flow 的一个bug详解
2013/09/17 Javascript
JS使用cookie实现DIV提示框只显示一次的方法
2015/11/05 Javascript
Angular.js如何从PHP读取后台数据
2016/03/24 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
2016/05/16 Javascript
第八篇Bootstrap下拉菜单实例代码
2016/06/21 Javascript
深入学习Bootstrap表单
2016/12/13 Javascript
原生js实现商品放大镜效果
2017/01/12 Javascript
javascript滚轮事件基础实例讲解(37)
2017/02/14 Javascript
vue实现登陆登出的实现示例
2017/09/15 Javascript
使用Vue.js开发微信小程序开源框架mpvue解析
2018/03/20 Javascript
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
Vuejs开发环境搭建及热更新【推荐】
2018/09/07 Javascript
为什么要使用Vuex的介绍
2019/01/19 Javascript
微信小程序webview实现长按点击识别二维码功能示例
2019/01/24 Javascript
前端路由&amp;webpack基础配置详解
2019/06/10 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
小程序实现tab标签页
2020/11/16 Javascript
Python实现子类调用父类的方法
2014/11/10 Python
Python标准库defaultdict模块使用示例
2015/04/28 Python
python中安装模块包版本冲突问题的解决
2017/05/02 Python
Python实现七彩蟒蛇绘制实例代码
2018/01/16 Python
python3安装pip3(install pip3 for python 3.x)
2018/04/03 Python
Python装饰器使用你可能不知道的几种姿势
2019/10/25 Python
在Ubuntu 20.04中安装Pycharm 2020.1的图文教程
2020/04/30 Python
利用html5 canvas动态画饼状图的示例代码
2018/04/02 HTML / CSS
植物选择:Botanic Choice
2017/02/15 全球购物
中国入世承诺
2014/04/01 职场文书
小学运动会报道稿
2014/10/04 职场文书
机关党员三严三实心得体会
2014/10/13 职场文书
js前端面试常见浏览器缓存强缓存及协商缓存实例
2022/06/21 Javascript