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 pickle模块用法实例分析
May 27 Python
python实现随机调用一个浏览器打开网页
Apr 21 Python
详解Numpy中的广播原则/机制
Sep 20 Python
利用Python求阴影部分的面积实例代码
Dec 05 Python
在matplotlib的图中设置中文标签的方法
Dec 13 Python
Python音频操作工具PyAudio上手教程详解
Jun 26 Python
pytorch之Resize()函数具体使用详解
Feb 27 Python
Pytorch 卷积中的 Input Shape用法
Jun 29 Python
Python之qq自动发消息的示例代码
Feb 18 Python
详解Django中的FBV和CBV对比分析
Mar 01 Python
python 模块重载的五种方法
Apr 24 Python
Python自动化之批量处理工作簿和工作表
Jun 03 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设计模式之装饰者模式
2012/02/29 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
2012/09/19 PHP
PHP操作MongoDB GridFS 存储文件的详解
2013/06/20 PHP
php使用GD实现颜色渐变实例
2015/06/02 PHP
Yii框架常见缓存应用实例小结
2019/09/09 PHP
变量声明时命名与变量作为对象属性时命名的区别解析
2013/12/06 Javascript
JS实现CheckBox复选框全选、不选或全不选功能
2020/07/28 Javascript
基于JavaScript实现窗口拖动效果
2017/01/18 Javascript
Vue.js如何实现路由懒加载浅析
2017/08/14 Javascript
微信小程序实现折叠面板
2018/01/31 Javascript
解决iView中时间控件选择的时间总是少一天的问题
2018/03/15 Javascript
react同构实践之实现自己的同构模板
2019/03/13 Javascript
JS实现在线ps功能详解
2019/07/31 Javascript
一篇文章看懂JavaScript中的回调
2021/01/05 Javascript
[07:54]DOTA2-DPC中国联赛 正赛 iG vs VG 选手采访
2021/03/11 DOTA
使用scrapy实现爬网站例子和实现网络爬虫(蜘蛛)的步骤
2014/01/23 Python
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
浅析python继承与多重继承
2018/09/13 Python
Python txt文件加入字典并查询的方法
2019/01/15 Python
详解Python读取yaml文件多层菜单
2019/03/23 Python
python3.6连接mysql数据库及增删改查操作详解
2020/02/10 Python
世界上最好的儿童品牌:AlexandAlexa
2018/01/27 全球购物
Origins悦木之源香港官网:雅诗兰黛集团高端植物护肤品牌
2018/03/21 全球购物
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
应届毕业生求职自荐书
2014/01/03 职场文书
元旦获奖感言
2014/03/08 职场文书
幼师求职自荐信
2014/05/31 职场文书
设备管理实施方案
2014/05/31 职场文书
数控专业毕业生求职信
2014/06/12 职场文书
出差报告格式模板
2014/11/06 职场文书
语文复习计划
2015/01/19 职场文书
成品仓管员岗位职责
2015/04/01 职场文书
肖申克救赎观后感
2015/06/02 职场文书
结婚喜宴迎宾词
2015/08/10 职场文书
MySQL中EXPLAIN语句及用法
2022/05/20 MySQL
CSS中理解层叠性及权重如何分配
2022/12/24 HTML / CSS