python生成excel表格-Python实现将数据库一键导出为Excel表格的实例
数据库数据导出为excel表格,也可以说是一个很常用的功能了。毕竟不是任何人都懂数据库操作语句的。
下面先来看看完成的效果吧。
数据源
导出结果
依赖
由于是Python实现的,所以需要有Python环境的支持
Python2.7.11
我的Python环境是2.7.11。虽然你用的可能是3.5版本,但是思想是一致的。
xlwt
pip install xlwt
MySQLdb
pip install MySQLdb
如果上述方式不成功的话,可以到sourceforge官网上去下载windows上的msi版本或者使用源码自行编译。
数据库相关
本次试验,数据库相关的其实也就是如何使用Python操作数据库而已,知识点也很少,下述为我们本次用到的一些简单的语句。
连接
conn = MySQLdb.connect(host='localhost',user='root',passwd='mysql',db='test',charset='utf8')
这里值得我们一提的就是最后一个参数的使用,不然从数据库中取出的数据就会使乱码。关于乱码问题,如果还有不明白的地方,不妨看下这篇文章
获取字段信息
1
fields = cursor.description
至于cursor,是我们操作数据库的核心。游标的特点就是一旦遍历过该条数据,便不可返回。但是我们也可以手动的改变其位置。
cursor.scroll(0,mode='absolute')来重置游标的位置
获取数据
获取数据简直更是轻而易举,但是我们必须在心里明白,数据项是一个类似于二维数组的存在。我们获取每一个cell项的时候应该注意。
1
results = cursor.fetchall()
同样,这里讲解的也是如何使用Python来操作excel数据。
workbook
工作薄的概念我们必须要明确,其是我们工作的基础。与下文的sheet相对应,workbook是sheet赖以生存的载体。
1
workbook = xlwt.Workbook()
sheet
我们所有的操作,都是在sheet上进行的。
sheet = workbook.add_sheet("table_message',cell_overwrite_ok=True)
对于workbook 和sheet,如果对此有点模糊。不妨这样进行假设。
日常生活中记账的时候,我们都会有一个账本,这就是workbook。而我们记账则是记录在一张张的表格上面,这些表格就是我们看到的sheet。一个账本上可以有很多个表格,也可以只是一个表格。这样就很容易理解了吧。 :-)
案例
下面看一个小案例。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# coding:utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
# __author__ = '郭 璞'
# __date__ = '2016/8/20'
# __Desc__ = 从数据库中导出数据到excel数据表中
import xlwt
import MySQLdb
conn = MySQLdb.connect('localhost','root','mysql','test',charset='utf8')
cursor = conn.cursor()
count = cursor.execute('select * from message')
print count
# 重置游标的位置
cursor.scroll(0,mode='absolute')
# 搜取所有结果
results = cursor.fetchall()
# 获取MYSQL里面的数据字段名称
fields = cursor.description
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('table_message',cell_overwrite_ok=True)
# 写上字段信息
for field in range(0,len(fields)):
sheet.write(0,field,fields[field][0])
# 获取并写入数据段信息
row = 1
col = 0
for row in range(1,len(results)+1):
for col in range(0,len(fields)):
sheet.write(row,col,u'%s'%results[row-1][col])
workbook.save(r'./readout.xlsx')
封装
为了使用上的方便,现将其封装成一个容易调用的函数。
封装之后
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# coding:utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
# __author__ = '郭 璞'
# __date__ = '2016/8/20'
# __Desc__ = 从数据库中导出数据到excel数据表中
import xlwt
import MySQLdb
def export(host,user,password,dbname,table_name,outputpath):
conn = MySQLdb.connect(host,user,password,dbname,charset='utf8')
cursor = conn.cursor()
count = cursor.execute('select * from '+table_name)
print count
# 重置游标的位置
cursor.scroll(0,mode='absolute')
# 搜取所有结果
results = cursor.fetchall()
# 获取MYSQL里面的数据字段名称
fields = cursor.description
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('table_'+table_name,cell_overwrite_ok=True)
# 写上字段信息
for field in range(0,len(fields)):
sheet.write(0,field,fields[field][0])
# 获取并写入数据段信息
row = 1
col = 0
for row in range(1,len(results)+1):
for col in range(0,len(fields)):
sheet.write(row,col,u'%s'%results[row-1][col])
workbook.save(outputpath)
# 结果测试
if __name__ == "__main__":
export('localhost','root','mysql','test','datetest',r'datetest.xlsx')
测试结果
1
2
3
4
5
6
7
id name date
1 dlut 2016-07-06
2 清华大学 2016-07-03
3 北京大学 2016-07-28
4 Mark 2016-08-20
5 Tom 2016-08-19
6 Jane 2016-08-21
总结
回顾一下,本次试验用到了哪些知识点。
•Python简易操作数据库
•Python简易操作Excel
•数据库取出数据乱码问题解决之添加charset=utf-8
•以二维数组的角度来处理获取到的结果集。
以上这篇Python实现将数据库一键导出为Excel表格的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
python生成excel表格-Python实现将数据库一键导出为Excel表格的实例相关推荐
- python如何读取数据并输出为表格_Python实现将数据库一键导出为Excel表格的实例...
数据库数据导出为excel表格,也可以说是一个很常用的功能了.毕竟不是任何人都懂数据库操作语句的. 下面先来看看完成的效果吧. 数据源 导出结果 依赖 由于是Python实现的,所以需要有Python ...
- python 销售数据分析输出表格_Python实现将数据库一键导出为Excel表格的实例
Python实现将数据库一键导出为Excel表格的实例 下面小编就为大家带来一篇Python实现将数据库一键导出为Excel表格的实例.小编觉得挺不错的,现在就分享给大家, 数据库数据导出为excel ...
- python数据导出excel模板中的脚本_Python实现将数据库一键导出为Excel表格的实例...
数据库数据导出为excel表格,也可以说是一个很常用的功能了.毕竟不是任何人都懂数据库操作语句的. 下面先来看看完成的效果吧. 数据源 导出结果 依赖 由于是Python实现的,所以需要有Python ...
- python数据导出excel_Python实现数据库一键导出为Excel表格-----转载
数据库数据导出为excel表格,也可以说是一个很常用的功能了.毕竟不是任何人都懂数据库操作语句的. 下面先来看看完成的效果吧. 数据源 导出结果 依赖 由于是Python实现的,所以需要有Python ...
- 将数据库数据导出到Excel中,并可以在浏览器上下载Excel
将数据库数据导出到Excel中,并可以在浏览器上下载Excel 附代码: //设置文件保存路径 public static String url ="F:\\Workspase\\BackC ...
- 数据库数据导出到Excel
数据库数据导出到Excel 从数据库中获取数据,使用java建立一个新建Excel,添加表头,并将数据存储到Excel表格中的对应位置上. 在新建一个Excel时,我们会需要定义一些特别的Excel格 ...
- c 语言如何处理表格文件中的数据库,C#程序从Excel表格中读取数据并进行处理
今天做了一个Excel表格数据处理的事情,因为数据量表较大(接近7000条)所以处理起来有点麻烦,于是写了一个程序, 先将程序记下以便将来查找. using System; using System. ...
- php 链接excel表格数据,php 怎么把数据导出到excel表格?php 连接 excel表格数据库数据...
php 怎么把数据导出到excel表格 php 把数据导出到excel表多种方法如使用 phpExcel 等,以下代码是直接通 header 生成 excel 文件的代码示例: header(&quo ...
- python导出数据到excel文件_Python笔记:把数据导出到Excel文件上
相信初学Python数据分析的小伙伴都发现了,只是把数据加载在Python的环境中做数据处理还不够,因为环境的问题(Python加载进来的只是一张虚拟表,数据暂存内存中),我们最终还是需要把粗加工好的 ...
最新文章
- 字节跳动副总裁杨震原:A/B测试不是万能的,但不会一定不行
- as3(actionScript3.0) 操作摄像头(Camera)实例
- linux ppp拨号 socket,请问GPRS模块ppp拨号不成功是什么原因
- 关于图像语义分割的总结和感悟
- eclipse 设置豆沙绿保护色,保护眼睛
- html自动执行bat,html文件执行cmd指令
- 官宣!极客邦科技获2000万元 A 轮融资,全面发力知识服务平台
- php面试带项目_PHP面试常用算法(推荐)
- 最简单、图解:阿里云服务器上装 Docker 、 CentOS上 docker安装(3分钟装完)
- Spring+SpringMVC+MyBatis深入学习及搭建(五)——动态sql
- 进程调度(一)--linux内核设计与实现读书笔记
- 每日一题/006/矩阵/设 n阶实对称矩阵 A满足 A^2=A,且 A 的秩为r,试求行列式 det(2E-A) 的值
- 去掉高德api上的logo图标
- JSON.stringify的认知历程
- 裤子尺码对照表eur40_有了裤子尺码对照表,再也不用担心买错裤子了
- 哈佛幸福课中提到的书_借助虚拟现实,在哈佛最大的班级中排在前列
- r语言c函数调用一个数据多列,r语言如何将多列数据变成一列
- 【springboot3.x 记录】解决 springboot3 集成 mybatis-plus 报 sqlSession 异常
- 计算机选取多个目标按什么键,连续选择多个按什么键
- G003-181-19
热门文章
- show line numbers
- Web前端JQuery面试题(三)
- VS2013安装MVC5
- 想学Python,怎么开始才好呢?
- 在SQL Server 2005 Express 中添加报表服务后 (Business Intelligence Development Studio) vs2005 加载程序集问题解决办法...
- [Ubuntu]更改所有子文件和子目录所有者权限
- 虚拟化技术中,为什么说容器技术暂时将不会取代虚拟机模式
- 在QLabel上同时显示文字和图片的方法
- java 2类与对象[学堂在线]
- 每日站立会议10(完成)