Python实现将sqlite数据库导出转成Excel(xls)表的方法

 更新时间:2017年07月17日 09:49:21   作者:zouzhberk  
这篇文章主要介绍了Python实现将sqlite数据库导出转成Excel(xls)表的方法,结合实例形式分析了Python针对sqlite数据库的连接、读取及使用写操作包(xlwt)生成Excel表的相关实现技巧,需要的朋友可以参考下

本文实例讲述了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数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • python 3.6.7实现端口扫描器

    python 3.6.7实现端口扫描器

    这篇文章主要为大家详细介绍了python 3.6.7实现端口扫描器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • pygame实现俄罗斯方块游戏(AI篇1)

    pygame实现俄罗斯方块游戏(AI篇1)

    这篇文章主要为大家详细介绍了pygame实现俄罗斯方块游戏AI的第1篇,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • python opencv图片编码为h264文件的实例

    python opencv图片编码为h264文件的实例

    今天小编就为大家分享一篇python opencv图片编码为h264文件的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python基于traceback模块获取异常信息

    Python基于traceback模块获取异常信息

    这篇文章主要介绍了Python基于traceback模块获取异常信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • python文件和文件夹复制函数

    python文件和文件夹复制函数

    这篇文章主要为大家详细介绍了python文件和文件夹复制函数的实现代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • pytorch 批次遍历数据集打印数据的例子

    pytorch 批次遍历数据集打印数据的例子

    今天小编就为大家分享一篇pytorch 批次遍历数据集打印数据的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 微信跳一跳小游戏python脚本

    微信跳一跳小游戏python脚本

    这篇文章主要为大家详细介绍了微信跳一跳小程序Python脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • python中aioysql(异步操作MySQL)的方法

    python中aioysql(异步操作MySQL)的方法

    这篇文章主要介绍了aioysql(异步操作MySQL)-python 的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • 使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法

    使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法

    今天小编就为大家分享一篇使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 分享6 个值得收藏的 Python 代码

    分享6 个值得收藏的 Python 代码

    这篇文章主要分享了6 个值得收藏的 Python 代码,希望队长正在学习的你有所帮助,需要的小伙伴也可以参考一下
    2022-01-01

最新评论