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操作Mysql实例代码教程在线版(查询手册)
Feb 18 Python
为python设置socket代理的方法
Jan 14 Python
Python中处理unchecked未捕获异常实例
Jan 17 Python
简单介绍Python的Tornado框架中的协程异步实现原理
Apr 23 Python
实例讲解Python设计模式编程之工厂方法模式的使用
Mar 02 Python
python里使用正则表达式的组嵌套实例详解
Oct 24 Python
python matplotlib.pyplot.plot()参数用法
Apr 14 Python
windows+vscode安装paddleOCR运行环境的步骤
Nov 11 Python
pandas按照列的值排序(某一列或者多列)
Dec 13 Python
python pyhs2 的安装操作
Apr 07 Python
python spilt()分隔字符串的实现示例
May 21 Python
Python实现将多张图片合成MP4视频并加入背景音乐
Apr 28 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
帅气的琦玉老师
2020/03/02 日漫
如何在PHP中使用Oracle数据库(3)
2006/10/09 PHP
windows环境下php配置memcache的具体操作步骤
2013/06/09 PHP
php 地区分类排序算法
2013/07/01 PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
2016/10/20 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
php redis setnx分布式锁简单原理解析
2020/10/23 PHP
数据结构之利用PHP实现二分搜索树
2020/10/25 PHP
一个用js实现的页内搜索代码
2007/05/23 Javascript
javascript常用对话框小集
2013/09/13 Javascript
生成二维码方法汇总
2014/12/26 Javascript
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
关于RxJS Subject的学习笔记
2018/12/05 Javascript
ES6基础之 Promise 对象用法实例详解
2019/08/22 Javascript
vue在响应头response中获取自定义headers操作
2020/07/24 Javascript
解决js中的setInterval清空定时器不管用问题
2020/11/17 Javascript
跟老齐学Python之Python安装
2014/09/12 Python
整理Python中的赋值运算符
2015/05/13 Python
Python中的连接符(+、+=)示例详解
2017/01/13 Python
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
几行Python代码爬取3000+上市公司的信息
2019/01/24 Python
python单线程文件传输的实例(C/S)
2019/02/13 Python
Python爬虫实现的根据分类爬取豆瓣电影信息功能示例
2019/09/15 Python
python用TensorFlow做图像识别的实现
2020/04/21 Python
Python django框架 web端视频加密的实例详解
2020/11/20 Python
HTML5 Plus 实现手机APP拍照或相册选择图片上传功能
2016/07/13 HTML / CSS
html5 实现客户端验证上传文件的大小(简单实例)
2016/05/15 HTML / CSS
来自世界上最好大学的在线课程:edX
2018/10/16 全球购物
德国户外装备、登山运动和攀岩商店:tapir store
2020/02/12 全球购物
英国排名第一的冲浪店:Ann’s Cottage
2020/06/21 全球购物
物流合作计划书
2014/01/10 职场文书
环境保护标语
2014/06/20 职场文书
党员个人自我剖析材料
2014/10/08 职场文书
思想纪律作风整顿剖析材料
2014/10/11 职场文书
导游词之山东八大关
2019/12/18 职场文书
Python用any()函数检查字符串中的字母以及如何使用all()函数
2022/04/14 Python