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同时兼容python2和python3的8个技巧分享
Jul 11 Python
Python装饰器的函数式编程详解
Feb 27 Python
python实现颜色空间转换程序(Tkinter)
Dec 31 Python
python 实时遍历日志文件
Apr 12 Python
对Python中plt的画图函数详解
Nov 07 Python
Django渲染Markdown文章目录的方法示例
Jan 02 Python
对python dataframe逻辑取值的方法详解
Jan 30 Python
pygame实现俄罗斯方块游戏(基础篇1)
Oct 29 Python
如何查看Django ORM执行的SQL语句的实现
Apr 20 Python
Python应用实现处理excel数据过程解析
Jun 19 Python
python利用proxybroker构建爬虫免费IP代理池的实现
Feb 21 Python
Python多线程 Queue 模块常见用法
Jul 04 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笛卡尔积实现算法示例
2018/07/30 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
2019/03/29 PHP
Javascript结合css实现网页换肤功能
2009/11/02 Javascript
JQuery验证工具类搜集整理
2013/01/16 Javascript
JavaScript表达式:URL 协议介绍
2013/03/10 Javascript
js中indexof的用法详细解析
2013/12/24 Javascript
jQuery 设置 CSS 属性示例介绍
2014/01/16 Javascript
js实现连个数字相加而不是拼接的方法
2014/02/23 Javascript
javascript页面渲染速度测试脚本分享
2014/04/15 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
2014/06/15 Javascript
jQuery实现跟随鼠标运动图层效果的方法
2015/02/02 Javascript
javaScript中push函数用法实例分析
2015/06/08 Javascript
jQuery检查事件是否触发的方法
2015/06/26 Javascript
JavaScript中字符串拼接的基本方法
2015/07/07 Javascript
javascript中mouseover、mouseout使用详解
2015/07/19 Javascript
Bootstrap每天必学之按钮(Button)插件
2016/04/25 Javascript
用JS动态改变表单form里的action值属性的两种方法
2016/05/25 Javascript
vue制作加载更多功能的正确打开方式
2016/10/12 Javascript
Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#‘的解决方法
2017/06/17 Javascript
微信小程序中添加客服按钮contact-button功能
2018/04/27 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
create-react-app中添加less支持的实现
2019/11/15 Javascript
Python入门教程之if语句的用法
2015/05/14 Python
深入理解python try异常处理机制
2016/06/01 Python
Python列表和元组的定义与使用操作示例
2017/07/26 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
python+selenium 鼠标事件操作方法
2019/08/24 Python
使用pytorch 筛选出一定范围的值
2020/06/28 Python
一个不错的HTML5 Canvas多层点击事件监听实例
2014/04/29 HTML / CSS
关于廉洁的广播稿
2014/01/30 职场文书
工商企业管理应届生求职信
2014/05/04 职场文书
庐山导游词
2015/02/03 职场文书
幼儿园推普周活动总结
2015/05/07 职场文书
搞笑结婚保证书
2015/05/08 职场文书
浪漫的婚礼主持词
2015/06/30 职场文书
用Python的绘图库(matplotlib)绘制小波能量谱
2021/04/17 Python