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命令行传递实例化对象的方法
Nov 02 Python
Python如何快速实现分布式任务
Jul 06 Python
Django实现简单分页功能的方法详解
Dec 05 Python
python 类对象和实例对象动态添加方法(分享)
Dec 31 Python
用python写扫雷游戏实例代码分享
May 27 Python
python指定写入文件时的编码格式方法
Jun 07 Python
python实现银联支付和支付宝支付接入
May 07 Python
python分数表示方式和写法
Jun 26 Python
Python日志无延迟实时写入的示例
Jul 11 Python
使用python实现CGI环境搭建过程解析
Apr 28 Python
Python 将 QQ 好友头像生成祝福语的实现代码
May 03 Python
Python基础之字符串格式化详解
Apr 21 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
Sony CFR 320 修复改造
2020/03/14 无线电
聊天室php&amp;mysql(六)
2006/10/09 PHP
header()函数使用说明
2006/11/23 PHP
PHP页面实现定时跳转的方法
2014/10/31 PHP
php使用正则验证中文
2016/04/06 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
2016/11/12 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
为javascript添加String.Format方法
2020/08/11 Javascript
jQuery获取css z-index在各种浏览器中的返回值
2010/09/15 Javascript
JQuery实现倒计时按钮具体方法
2013/11/14 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
浅谈vue-lazyload实现的详细过程
2017/08/22 Javascript
vue学习笔记五:在vue项目里面使用引入公共方法详解
2019/04/04 Javascript
JavaScript 面向对象基础简单示例
2019/10/02 Javascript
js获取本日、本周、本月的时间代码
2020/02/01 Javascript
详细讲解用Python发送SMTP邮件的教程
2015/04/29 Python
python中pass语句用法实例分析
2015/04/30 Python
python中base64加密解密方法实例分析
2015/05/16 Python
Python的mysql数据库的更新如何实现
2017/07/31 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
2018/12/17 Python
Python神奇的内置函数locals的实例讲解
2019/02/22 Python
应用OpenCV和Python进行SIFT算法的实现详解
2019/08/21 Python
使用python无账号无限制获取企查查信息的实例代码
2020/04/17 Python
Python3爬虫中识别图形验证码的实例讲解
2020/07/30 Python
华为旗下电子商务平台:华为商城
2016/08/06 全球购物
领导检查欢迎词
2014/01/14 职场文书
旅游个人求职信范文
2014/01/30 职场文书
《听鱼说话》教学反思
2014/02/15 职场文书
2015领导干部廉洁自律工作总结
2015/07/23 职场文书
2016中学教师读书心得体会
2016/01/13 职场文书
化工生产实习心得体会
2016/01/22 职场文书
Pandas-DataFrame知识点汇总
2022/03/16 Python
解决Mysql报错 Table 'mysql.user' doesn't exist
2022/05/06 MySQL