Python实现将sqlite数据库导出转成Excel(xls)表的方法
作者:zouzhberk 发布时间:2024-01-18 02:05:10
标签:Python,sqlite,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程序设计有所帮助。


猜你喜欢
- 人们常说人生就是一个不断做选择题的过程:有的人没得选,只有一条路能走;有的人好一点,可以二选一;有些能力好或者家境好的人,可以有更多的选择;
- 一、绑定class属性的方式1、通过数组的方式,为元素绑定多个class<style> .red {
- 前言这节课很重要。。界面整洁美观与否就看布局了。。这里讲布局方法,至于设计的天赋与最终界面的美感那就看造化了。。本文主要讲述Qt Desig
- 测试图片一、相对路径(报错)使用相对路径插入会报错(确认路径正确无误)import xlwings as xwwb = xw.Book()s
- 1.MySQL8.0.20下载及解压下载链接https://dev.mysql.com/downloads/mysql/2.新建配置文件my
- 摘要:如果你学过 C 语言,那么当你初见 Python 时可能会觉得 Python 的赋值方式略有诡异:好像差不多,但又好像哪里有点不太对劲
- MVC模式MVC, 全名Model View Controller, 是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Mo
- 1.抽象类抽象类机制中总是要定义一个公共的基类,而将特定的细节留给继承者来实现。通过抽象概念,可以在开发项目中创建扩展性很好的架构。任何一个
- 用过MySQL之后,不论容量的话,发现比其他两个(sql server 、oracle)好用的多,一下子就喜欢上了。下面给那些还不知道怎么弄
- 下面是出现的错误解释RuntimeError: An attempt ha
- python为main方法传参执行python脚本的时候,想给main方法传入参数的例子#!/usr/bin/env python# -*-
- 数据库的访问是所有编程语言中最重要的部分,C#提供了ADO.Net部件用于对数据库进行访问。我们将从最简单易用的微软Access数据库入手讨
- 概述要访问一个变量的内容,可以直接使用其名称。如果该变量是一个数组,可以使用变量名称和关键字或索引的组合来访问其内容。像其他变量一样,使用运
- 我们在.NET程序的开发过程中,常常需要和用户进行信息交互,比如执行某项操作是否成功,“确定”还是“取消”,以及选择“确定”或“取消”后是否
- session请求过程当第一次访问网站时,Seesion_start()函数就会创建一个唯一的Session ID,并自动通过HTTP的响应
- 如果是后台上传文件:setting配置:STATIC_URL = '/static/'STATICFILES_DIRS =
- 这篇文档所给出的编码约定适用于在主要的Python发布版本中组成标准库的Python 代码,请查阅相关的关
- 初识word文档-节-的概念编辑一篇word文档,往往首先从页面设置开始,从下图可以看出,页面设置常操作的有页边距、纸张方向、纸张大小4个,
- 本文实例讲述了JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果。分享给大家供大家参考,具体如下:基于Sketch.js,实现了物
- 经常会遇到这样一个情况:浏览器弹出对话框,提示脚本运行时间过长,询问“停止”还是“继续”。那究竟各个浏览器是如何判断在什么时候才弹出此对话框