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创建进程fork用法
Jun 04 Python
谈谈Python进行验证码识别的一些想法
Jan 25 Python
基于Python实现通过微信搜索功能查看谁把你删除了
Jan 27 Python
python变量不能以数字打头详解
Jul 06 Python
Python中scatter函数参数及用法详解
Nov 08 Python
Python标准库inspect的具体使用方法
Dec 06 Python
python如何生成各种随机分布图
Aug 27 Python
python使用yield压平嵌套字典的超简单方法
Nov 02 Python
pytorch载入预训练模型后,实现训练指定层
Jan 06 Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
Mar 03 Python
Python使用psutil库对系统数据进行采集监控的方法
Aug 23 Python
Python实现照片卡通化
Dec 06 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
为什么那些咖啡爱好者大多看不上连锁咖啡店?
2021/03/06 咖啡文化
[FAQ]PHP中的一些常识:类篇
2006/10/09 PHP
php获取本周星期一具体日期的方法
2015/04/20 PHP
PHP获得数组交集与差集的方法
2015/06/10 PHP
浅谈php的优缺点
2015/07/14 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
ucenter中词语过滤原理分析
2016/07/13 PHP
PHP判断是否是微信打开还是浏览器打开的方法
2019/02/27 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
javascript document.referrer 用法
2009/04/30 Javascript
js post方式传递提交的实现代码
2010/05/31 Javascript
jquery星级插件、支持页面中多次使用
2012/03/25 Javascript
jQuery $.get 的妙用 访问本地文本文件
2012/07/12 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
2013/11/12 Javascript
javascript中with()方法的语法格式及使用
2014/08/04 Javascript
JavaScript中实现map功能代码分享
2015/06/11 Javascript
浅析Javascript匿名函数与自执行函数
2016/02/06 Javascript
JavaScript通过HTML的class来获取HTML元素的方法总结
2016/05/24 Javascript
JavaScript中的各种操作符使用总结
2016/05/26 Javascript
AngularJS基础 ng-keyup 指令简单示例
2016/08/02 Javascript
js回溯法计算最佳旅行线路代码实例
2019/09/11 Javascript
浅谈Vue 函数式组件的使用技巧
2020/06/16 Javascript
vue等两个接口都返回结果再执行下一步的实例
2020/09/08 Javascript
Python元字符的用法实例解析
2018/01/17 Python
Django中cookie的基本使用方法示例
2018/02/03 Python
Django之路由层的实现
2019/09/09 Python
python定时截屏实现
2020/11/02 Python
jupyter notebook更换皮肤主题的实现
2021/01/07 Python
罗德与泰勒百货官网:Lord & Taylor
2016/08/12 全球购物
英国邮购活的植物主要供应商:Gardening Direct
2019/01/28 全球购物
abstract class和interface有什么区别?
2012/01/03 面试题
个人求职简历的自我评价
2013/10/19 职场文书
物流仓管员工作职责
2014/01/06 职场文书
学校计划生育责任书
2015/05/09 职场文书
军训新闻稿范文
2015/07/17 职场文书
2016年暑假学生家长评语
2015/12/01 职场文书