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新手编程过程中如何规避一些常见问题的建议
Apr 01 Python
python实现类的静态变量用法实例
May 08 Python
详解duck typing鸭子类型程序设计与Python的实现示例
Jun 03 Python
python使用selenium实现批量文件下载
Mar 11 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
May 15 Python
python爬虫 爬取58同城上所有城市的租房信息详解
Jul 30 Python
Pandas数据离散化原理及实例解析
Nov 16 Python
Matplotlib 绘制饼图解决文字重叠的方法
Jul 24 Python
如何在pycharm中快捷安装pip命令(如pygame)
May 31 Python
解析目标检测之IoU
Jun 26 Python
python_tkinter弹出对话框创建
Mar 20 Python
Python装饰器详细介绍
Mar 25 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
本地机apache配置基于域名的虚拟主机详解
2013/08/10 PHP
深入理解PHP之OpCode原理详解
2016/06/01 PHP
php 使用curl模拟ip和来源进行访问的实现方法
2017/05/02 PHP
通过JAVAScript实现页面自适应
2007/01/19 Javascript
JQuery使用$.ajax和checkbox实现下次不在通知功能
2015/04/16 Javascript
jquery实现弹出层登录和全屏层注册特效
2015/08/28 Javascript
jQuery实现多级联动下拉列表查询框
2016/01/18 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
2016/09/23 Javascript
Vue 仿百度搜索功能实现代码
2017/02/16 Javascript
JS传播事件、取消事件默认行为、阻止事件传播详解
2017/08/14 Javascript
node实现登录图片验证码的示例代码
2018/04/20 Javascript
node获取客户端ip功能简单示例
2019/08/24 Javascript
vue 移动端记录页面浏览位置的方法
2020/03/11 Javascript
js实现tab栏切换效果
2020/08/02 Javascript
详解vue中在父组件点击按钮触发子组件的事件
2020/11/13 Javascript
python冒泡排序算法的实现代码
2013/11/21 Python
Python中使用装饰器和元编程实现结构体类实例
2015/01/28 Python
Python多层嵌套list的递归处理方法(推荐)
2016/06/08 Python
Python利用openpyxl库遍历Sheet的实例
2018/05/03 Python
Python动态生成多维数组的方法示例
2018/08/09 Python
11个Python3字典内置方法大全与示例汇总
2019/05/13 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
python3实现微型的web服务器
2019/09/03 Python
Python Opencv实现单目标检测的示例代码
2020/09/08 Python
基于css3 animate制作绚丽的动画效果
2015/11/24 HTML / CSS
世界上最大的汽车共享网站:Zipcar
2017/01/14 全球购物
英国现代市场:ARKET
2019/04/10 全球购物
《雪儿》教学反思
2014/04/17 职场文书
大三学年自我鉴定范文(3篇)
2014/09/28 职场文书
2015年小学数学教研组工作总结
2015/05/21 职场文书
无罪辩护词范文
2015/05/21 职场文书
怒海潜将观后感
2015/06/11 职场文书
优秀党员先进事迹材料2016
2016/02/29 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书
写作技巧:优秀文案必备的3种结构
2019/08/19 职场文书
用Python将库打包发布到pypi
2021/04/13 Python