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访问MySQL封装的常用类实例
Nov 11 Python
python访问类中docstring注释的实现方法
May 04 Python
Python使用win32com实现的模拟浏览器功能示例
Jul 13 Python
python实现外卖信息管理系统
Jan 11 Python
python re正则匹配网页中图片url地址的方法
Dec 20 Python
详解Django-restframework 之频率源码分析
Feb 27 Python
python 对字典按照value进行排序的方法
May 09 Python
python实现批量转换图片为黑白
Jun 16 Python
Python 利用OpenCV给照片换底色的示例代码
Aug 03 Python
详解python 内存优化
Aug 17 Python
如何判断pytorch是否支持GPU加速
Jun 01 Python
python图片灰度化处理的几种方法
Jun 23 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
各种咖啡的英文名子是什么
2021/03/03 新手入门
用 Composer构建自己的 PHP 框架之基础准备
2014/10/30 PHP
laravel 解决后端无法获取到前端Post过来的值问题
2019/10/22 PHP
jquery里的each使用方法详解
2010/12/22 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来
2013/01/23 Javascript
JQUERY dialog的用法详细解析
2013/12/19 Javascript
浅析js中的浮点型运算问题
2014/01/06 Javascript
通过隐藏iframe实现文件下载的js方法介绍
2014/02/26 Javascript
js实现跨域访问的三种方法
2015/12/09 Javascript
解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
2015/12/10 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
2016/08/08 Javascript
JS制作类似选项卡切换的年历
2016/12/03 Javascript
jquery Ajax 全局调用封装实例详解
2017/01/16 Javascript
Bootstrap表单控件学习使用
2017/03/07 Javascript
es7学习教程之Decorators(修饰器)详解
2017/07/21 Javascript
基于vue2实现左滑删除功能
2017/11/28 Javascript
JS中appendChild追加子节点无效的解决方法
2018/10/14 Javascript
微信小程序商品详情页底部弹出框
2019/11/22 Javascript
Python写的PHPMyAdmin暴力破解工具代码
2014/08/06 Python
python3判断url链接是否为404的方法
2018/08/10 Python
详解Django解决ajax跨域访问问题
2018/08/24 Python
python opencv实现图像边缘检测
2019/04/29 Python
Python-接口开发入门解析
2019/08/01 Python
python利用os模块编写文件复制功能——copy()函数用法
2020/07/13 Python
python 实现Requests发送带cookies的请求
2021/02/08 Python
英国马莎百货官网:Marks & Spencer
2016/07/29 全球购物
台湾乐天市场:日本No.1的网路购物网站
2017/03/22 全球购物
Revolution Beauty美国官网:英国知名化妆品网站
2018/07/23 全球购物
澳大利亚玩具剧场:Toy Playhouse
2019/03/03 全球购物
澳大利亚在线高跟鞋商店:Shoe Me
2019/11/19 全球购物
安全演讲稿大全
2014/05/09 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
活着观后感
2015/06/03 职场文书
成功的商业计划书这样写才最靠谱
2019/07/12 职场文书
研究生毕业登记表的自我鉴定范文
2019/07/15 职场文书
超外差式晶体管收音机的组装与统调
2021/04/22 无线电