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和shell变量互相传递的几种方法
Nov 20 Python
Python yield 小结和实例
Apr 25 Python
Python爬虫模拟登录带验证码网站
Jan 22 Python
Python实现TCP/IP协议下的端口转发及重定向示例
Jun 14 Python
python提取图像的名字*.jpg到txt文本的方法
May 10 Python
mac下pycharm设置python版本的图文教程
Jun 13 Python
idea创建springMVC框架和配置小文件的教程图解
Sep 18 Python
浅谈Python中(&amp;,|)和(and,or)之间的区别
Aug 07 Python
python实现图片压缩代码实例
Aug 12 Python
Python3多线程版TCP端口扫描器
Aug 31 Python
python标准库OS模块详解
Mar 10 Python
Python使用DFA算法过滤内容敏感词
Apr 22 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
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
2017/06/09 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
JS启动应用程序的一个简单例子
2008/05/11 Javascript
Prototype 学习 Prototype对象
2009/07/12 Javascript
利用javascript/jquery对上传文件格式过滤的方法
2009/07/25 Javascript
基于jquery的超简单上下翻
2010/04/20 Javascript
JS 自定义带默认值的函数
2011/07/21 Javascript
Jquery加载时从后台读取数据绑定到dropdownList实例
2013/06/09 Javascript
js验证模型自我实现的具体方法
2013/06/21 Javascript
js中this的用法实例分析
2015/01/10 Javascript
angular简介和其特点介绍
2015/01/29 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
详解Webwork中Action 调用的方法
2016/02/02 Javascript
使用BootStrap进行轮播图的制作
2017/01/06 Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
2017/03/02 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
详解前端路由实现与react-router使用姿势
2017/08/07 Javascript
Js经典案例的实例代码
2018/05/10 Javascript
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
解决layui中的form表单与button的点击事件冲突问题
2018/08/15 Javascript
微信小程序在text文本实现多种字体样式
2019/11/08 Javascript
JS桶排序的简单理解与实现方法示例
2019/11/25 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
2020/11/06 Javascript
基于vuex实现购物车功能
2021/01/10 Vue.js
[02:16]卖萌的僵尸 DOTA2神话信使飞僵小宝来袭
2014/03/24 DOTA
Python正则获取、过滤或者替换HTML标签的方法
2016/01/28 Python
python操作redis方法总结
2018/06/06 Python
Python进阶之@property动态属性的实现
2019/04/01 Python
python 公共方法汇总解析
2019/09/16 Python
Python多线程thread及模块使用实例
2020/04/28 Python
Python sorted对list和dict排序
2020/06/09 Python
Python Request类源码实现方法及原理解析
2020/08/17 Python
俄罗斯玩具、儿童用品、儿童服装和鞋子网上商店:MyToys.ru
2019/10/14 全球购物
幼儿教师国培感言
2014/02/19 职场文书
2014银行领导班子群众路线对照检查材料思想汇报
2014/09/17 职场文书
详细分析PHP7与PHP5区别
2021/06/26 PHP