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 相关文章推荐
py中的目录与文件判别代码
Jul 16 Python
python获取当前用户的主目录路径方法(推荐)
Jan 12 Python
wxpython实现图书管理系统
Mar 12 Python
pytorch 把MNIST数据集转换成图片和txt的方法
May 20 Python
tensorflow 获取变量&打印权值的实例讲解
Jun 14 Python
Python实现聊天机器人的示例代码
Jul 09 Python
Python登录系统界面实现详解
Jun 25 Python
用python画一只可爱的皮卡丘实例
Nov 21 Python
python groupby 函数 as_index详解
Dec 16 Python
详解Python 重学requests发起请求的基本方式
Feb 07 Python
Pycharm中import torch报错的快速解决方法
Mar 05 Python
python神经网络学习 使用Keras进行简单分类
May 04 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
php simplexmlElement操作xml的命名空间实现代码
2011/01/04 PHP
PHP删除HTMl标签的实现代码
2013/06/30 PHP
thinkphp实现图片上传功能
2016/01/13 PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
2016/09/30 PHP
PHP7修改的函数
2021/03/09 PHP
Javascript Function对象扩展之延时执行函数
2010/07/06 Javascript
最佳JS代码编写的14条技巧
2011/01/09 Javascript
jQuery动画效果-slideUp slideDown上下滑动示例代码
2013/08/28 Javascript
Extjs4中的分页应用结合前后台
2013/12/13 Javascript
基于JQuery打造无缝滚动新闻步骤详解
2016/03/31 Javascript
bootstrap实现每隔5秒自动轮播效果
2016/12/20 Javascript
谈谈对vue响应式数据更新的误解
2017/08/01 Javascript
小程序input数据双向绑定实现方法
2019/10/17 Javascript
JS实现字体背景跑马灯
2020/01/06 Javascript
JavaScript实现简单的弹窗效果
2020/05/19 Javascript
使用Element的InfiniteScroll 无限滚动组件报错的解决
2020/07/27 Javascript
解决vuex刷新数据消失问题
2020/11/12 Javascript
[03:47]2015国际邀请赛第三日现场精彩回顾
2015/08/08 DOTA
Python3实现从指定路径查找文件的方法
2015/05/22 Python
使用python3.5仿微软记事本notepad
2016/06/15 Python
python八大排序算法速度实例对比
2017/12/06 Python
Python中pygal绘制雷达图代码分享
2017/12/07 Python
Python自定义一个类实现字典dict功能的方法
2019/01/19 Python
python实现关闭第三方窗口的方法
2019/06/28 Python
cProfile Python性能分析工具使用详解
2019/07/22 Python
pycharm 激活码及使用方式的详细教程
2020/05/12 Python
Python 如何实现访问者模式
2020/07/28 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
2021/02/04 Python
北美主要的汽车零部件零售商:AutoShack.com
2019/02/23 全球购物
ktv收银员岗位职责
2013/12/16 职场文书
中英文自我评价常用句型
2013/12/19 职场文书
农村门前三包责任书
2014/07/25 职场文书
就业推荐表导师评语
2014/12/31 职场文书
个人年终总结开头
2015/03/06 职场文书
长江七号观后感
2015/06/11 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers