Python实现导出数据生成excel报表的方法示例


Posted in Python onJuly 12, 2017

本文实例讲述了Python实现导出数据生成excel报表的方法。分享给大家供大家参考,具体如下:

#_*_coding:utf-8_*_
import MySQLdb
import xlwt
from datetime import datetime
def get_data(sql):
  # 创建数据库连接.
  conn = MySQLdb.connect(host='127.0.0.1',user='root'\
              ,passwd='123456',db='test',port=3306,charset='utf8')
  # 创建游标
  cur = conn.cursor()
  # 执行查询,
  cur.execute(sql)
  # 由于查询语句仅会返回受影响的记录条数并不会返回数据库中实际的值,所以此处需要fetchall()来获取所有内容。
  result = cur.fetchall()
  #关闭游标
  cur.close()
  #关闭数据库连接
  conn.close
  # 返给结果给函数调用者。
  return result
def write_data_to_excel(name,sql):
  # 将sql作为参数传递调用get_data并将结果赋值给result,(result为一个嵌套元组)
  result = get_data(sql)
  # 实例化一个Workbook()对象(即excel文件)
  wbk = xlwt.Workbook()
  # 新建一个名为Sheet1的excel sheet。此处的cell_overwrite_ok =True是为了能对同一个单元格重复操作。
  sheet = wbk.add_sheet('Sheet1',cell_overwrite_ok=True)
  # 获取当前日期,得到一个datetime对象如:(2016, 8, 9, 23, 12, 23, 424000)
  today = datetime.today()
  # 将获取到的datetime对象仅取日期如:2016-8-9
  today_date = datetime.date(today)
  # 遍历result中的没个元素。
  for i in xrange(len(result)):
    #对result的每个子元素作遍历,
    for j in xrange(len(result[i])):
      #将每一行的每个元素按行号i,列号j,写入到excel中。
      sheet.write(i,j,result[i][j])
  # 以传递的name+当前日期作为excel名称保存。
  wbk.save(name+str(today_date)+'.xls')
# 如果该文件不是被import,则执行下面代码。
if __name__ == '__main__':
  #定义一个字典,key为对应的数据类型也用作excel命名,value为查询语句
  db_dict = {'test':'select * from student'}
  # 遍历字典每个元素的key和value。
  for k,v in db_dict.items():
    # 用字典的每个key和value调用write_data_to_excel函数。
    write_data_to_excel(k,v)

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

Python 相关文章推荐
python重试装饰器示例
Feb 11 Python
简单介绍Python中用于求最小值的min()方法
May 15 Python
python中的字典使用分享
Jul 31 Python
详谈Python2.6和Python3.0中对除法操作的异同
Apr 28 Python
python 列表,数组,矩阵两两转换tolist()的实例
Apr 04 Python
python搭建服务器实现两个Android客户端间收发消息
Apr 12 Python
Python反射和内置方法重写操作详解
Aug 27 Python
python3中类的继承以及self和super的区别详解
Jun 26 Python
python实现布隆过滤器及原理解析
Dec 08 Python
Python代码中如何读取键盘录入的值
May 27 Python
Python偏函数Partial function使用方法实例详解
Jun 17 Python
Python Pygame实战在打砖块游戏的实现
Mar 17 Python
python 数据的清理行为实例详解
Jul 12 #Python
python的pdb调试命令的命令整理及实例
Jul 12 #Python
Windows平台Python连接sqlite3数据库的方法分析
Jul 12 #Python
python 中split 和 strip的实例详解
Jul 12 #Python
Python实现简单的获取图片爬虫功能示例
Jul 12 #Python
python文件特定行插入和替换实例详解
Jul 12 #Python
梯度下降法介绍及利用Python实现的方法示例
Jul 12 #Python
You might like
珊瑚虫IP库浅析
2007/02/15 PHP
php通过COM类调用组件的实现代码
2012/01/11 PHP
PHP怎么实现网站保存快捷方式方便用户随时浏览
2013/08/15 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
PHP实现的oracle分页函数实例
2016/01/25 PHP
php文件类型MIME对照表(比较全)
2016/10/07 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
2018/04/04 PHP
Javascript 构造函数 实例分析
2008/11/26 Javascript
JavaScript去掉空格的方法集合
2010/12/28 Javascript
关于使用 jBox 对话框的提交不能弹出问题解决方法
2012/11/07 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
2014/05/12 Javascript
jquery实现保存已选用户
2014/07/21 Javascript
js实现有时间限制消失的图片方法
2015/02/27 Javascript
JavaScript中创建对象的模式汇总
2016/04/19 Javascript
js简单判断flash是否加载完成的方法
2016/06/21 Javascript
AngularJS全局scope与Isolate scope通信用法示例
2016/11/22 Javascript
BootStrapTable 单选及取值的实现方法
2017/01/10 Javascript
vue分类筛选filter方法简单实例
2017/03/30 Javascript
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
Python的Django框架中的数据库配置指南
2015/07/17 Python
python标记语句块使用方法总结
2019/08/05 Python
Python any()函数的使用方法
2019/10/28 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
Python matplotlib画曲线例题解析
2020/02/07 Python
Python selenium环境搭建实现过程解析
2020/09/08 Python
python ssh 执行shell命令的示例
2020/09/29 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
2020/10/22 Python
CSS3弹性盒模型开发笔记(二)
2016/04/26 HTML / CSS
Sport-Thieme荷兰:购买体育用品
2019/08/25 全球购物
什么是数组名
2012/05/10 面试题
应用电子技术专业个人求职信
2013/09/21 职场文书
房地产销售经理岗位职责
2014/01/01 职场文书
小学中秋节活动方案
2014/02/06 职场文书
办公室文员岗位职责范本
2014/06/12 职场文书
推销搭讪开场白
2015/05/28 职场文书
SQL Server中锁的用法
2022/05/20 SQL Server