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 相关文章推荐
Python3实现从文件中读取指定行的方法
May 22 Python
Python文本相似性计算之编辑距离详解
Nov 28 Python
Python的地形三维可视化Matplotlib和gdal使用实例
Dec 09 Python
Python使用Tkinter实现机器人走迷宫
Jan 22 Python
快速解决安装python没有scripts文件夹的问题
Apr 03 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
Jun 11 Python
对python 调用类属性的方法详解
Jul 02 Python
Python matplotlib以日期为x轴作图代码实例
Nov 22 Python
python脚本后台执行方式
Dec 21 Python
python字符串,元组,列表,字典互转代码实例详解
Feb 14 Python
python如何读取.mtx文件
Apr 22 Python
聊聊Python中关于a=[[]]*3的反思
Jun 02 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
《逃离塔科夫》——“萌新劝退,老手自嗨”的硬核FPS游戏
2020/04/03 其他游戏
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
2017/03/25 PHP
jquery iframe操作详细解析
2013/11/20 Javascript
JS实现网页滚动条感应鼠标变色的方法
2015/02/26 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
2016/05/18 Javascript
任意Json转成无序列表的方法示例
2016/12/09 Javascript
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
jQuery菜单实例(全选,反选,取消)
2017/08/28 jQuery
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
2018/02/28 Javascript
Vue.js 表单控件操作小结
2018/03/29 Javascript
JSON的parse()方法介绍
2019/01/31 Javascript
javascript中数组的常用算法深入分析
2019/03/12 Javascript
微信小程序中显示倒计时代码实例
2019/05/09 Javascript
解决layer.confirm快速点击会重复触发事件的问题
2019/09/23 Javascript
node.js express框架实现文件上传与下载功能实例详解
2019/10/15 Javascript
JavaScript随机数的组合问题案例分析
2020/05/16 Javascript
基于JavaScript实现简单扫雷游戏
2021/01/02 Javascript
[02:09]抵达西雅图!中国军团加油!
2014/07/07 DOTA
python中日期和时间格式化输出的方法小结
2015/03/19 Python
Python3+Pycharm+PyQt5环境搭建步骤图文详解
2019/05/29 Python
Python 面向对象之类class和对象基本用法示例
2020/02/02 Python
在jupyter notebook 添加 conda 环境的操作详解
2020/04/10 Python
python zip()函数的使用示例
2020/09/23 Python
如何用tempfile库创建python进程中的临时文件
2021/01/28 Python
详解HTML5中ol标签的用法
2015/09/08 HTML / CSS
很酷的HTML5电子书翻页动画特效
2016/02/25 HTML / CSS
Prototype中如何为一个元素添加一个方法
2014/12/08 面试题
文明礼仪演讲稿
2014/05/12 职场文书
房屋出售授权委托书
2014/10/12 职场文书
2014年爱国卫生工作总结
2014/11/22 职场文书
营销计划书
2015/01/17 职场文书
母亲节主题班会
2015/08/14 职场文书
2016年秋季运动会广播稿
2015/12/21 职场文书
js前端面试常见浏览器缓存强缓存及协商缓存实例
2022/06/21 Javascript