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中__str__和__repr__方法的区别
Apr 17 Python
Centos7 Python3下安装scrapy的详细步骤
Mar 15 Python
python 返回一个列表中第二大的数方法
Jul 09 Python
python实现文件的分割与合并
Aug 29 Python
python list数据等间隔抽取并新建list存储的例子
Nov 27 Python
Django 路由层URLconf的实现
Dec 30 Python
pytorch之ImageFolder使用详解
Jan 06 Python
tensorflow 实现自定义梯度反向传播代码
Feb 10 Python
如何基于python实现不邻接植花
May 01 Python
详解Python IO口多路复用
Jun 17 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
Nov 28 Python
python 实现全球IP归属地查询工具
Dec 18 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中的 == 运算符进行字符串比较
2006/11/26 PHP
解决php中Cannot send session cache limiter 的问题的方法
2007/04/27 PHP
php 用sock技术发送邮件的函数
2007/07/21 PHP
php 带逗号千位符数字的处理方法
2012/01/10 PHP
php生成excel文件的简单方法
2014/02/08 PHP
yii实现级联下拉菜单的方法
2014/07/31 PHP
PHP分页类集锦
2014/11/18 PHP
PHP模拟asp.net的StringBuilder类实现方法
2015/08/08 PHP
javascript异步处理工作机制详解
2015/04/13 Javascript
关于延迟加载JavaScript
2015/05/05 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
2016/03/01 Javascript
Nodejs 搭建简单的Web服务器详解及实例
2016/11/30 NodeJs
JS实现的3des+base64加密解密算法完整示例
2018/05/18 Javascript
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
Vue 莹石摄像头直播视频实例代码
2018/08/31 Javascript
layui原生表单验证的实例
2019/09/09 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
2020/08/06 Javascript
Flask框架的学习指南之用户登录管理
2016/11/20 Python
初探TensorFLow从文件读取图片的四种方式
2018/02/06 Python
Django基础知识与基本应用入门教程
2018/07/20 Python
django多个APP的urls设置方法(views重复问题解决)
2019/07/19 Python
Python中的全局变量如何理解
2020/06/04 Python
Django中ORM的基本使用教程
2020/12/22 Python
eDreams德国:南欧领先的在线旅游公司
2020/12/07 全球购物
浙大网新C/C++面试解惑
2015/05/27 面试题
房地产广告词大全
2014/03/19 职场文书
常务副总经理岗位职责
2014/04/12 职场文书
珍惜资源的建议书
2014/08/26 职场文书
求职自我评价范文
2015/03/09 职场文书
2015年度培训工作总结范文
2015/04/02 职场文书
2015年招生工作总结
2015/05/04 职场文书
德能勤绩工作总结
2015/08/11 职场文书
合作合同协议书
2016/03/21 职场文书
爱国之歌(8首)
2019/09/29 职场文书
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
2021/05/21 PostgreSQL
浅谈Python魔法方法
2021/06/28 Java/Android