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利用lxml读写xml格式的文件
Aug 10 Python
Selenium 模拟浏览器动态加载页面的实现方法
May 16 Python
python实现QQ邮箱/163邮箱的邮件发送
Jan 22 Python
使用python判断jpeg图片的完整性实例
Jun 10 Python
python3发送邮件需要经过代理服务器的示例代码
Jul 25 Python
Python pickle模块实现对象序列化
Nov 22 Python
简单了解django处理跨域请求最佳解决方案
Mar 25 Python
Python视频编辑库MoviePy的使用
Apr 01 Python
详解KMP算法以及python如何实现
Sep 18 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
Nov 11 Python
用pushplus+python监控亚马逊到货动态推送微信
Jan 29 Python
OpenCV-Python实现轮廓拟合
Jun 08 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时间戳使用实例代码
2008/06/07 PHP
php max_execution_time执行时间问题
2011/07/17 PHP
php中使用__autoload()自动加载未定义类的实现代码
2013/02/06 PHP
php的dl函数用法实例
2014/11/06 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
2016/01/11 PHP
Yii实现简单分页的方法
2016/04/29 PHP
Zend Framework过滤器Zend_Filter用法详解
2016/12/09 PHP
快速解决FusionCharts联动的中文乱码问题
2013/12/04 Javascript
js网页实时倒计时精确到秒级
2014/02/10 Javascript
jQuery中Ajax的get、post等方法详解
2015/01/20 Javascript
JS获取图片lowsrc属性的方法
2015/04/01 Javascript
javascript数据结构之双链表插入排序实例详解
2015/11/25 Javascript
js如何准确获取当前页面url网址信息
2020/09/13 Javascript
jquery ajax后台返回list,前台用jquery遍历list的实现
2016/10/30 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
2016/11/03 Javascript
微信小程序 开发之顶部导航栏实例代码
2017/02/23 Javascript
div中文字内容溢出常见的解决方法
2017/03/16 Javascript
CodeMirror js代码加亮使用总结
2017/03/25 Javascript
Angular angular-file-upload文件上传的示例代码
2018/08/23 Javascript
Vue2.x通用编辑组件的封装及应用详解
2019/05/28 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
2019/11/10 Javascript
python将秒数转化为时间格式的实例
2018/09/16 Python
对Python中实现两个数的值交换的集中方法详解
2019/01/11 Python
python实现图片上添加图片
2019/11/26 Python
python求绝对值的三种方法小结
2019/12/04 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
HTML5中语义化 b 和 i 标签
2008/10/17 HTML / CSS
Oroton中国官网:澳洲知名奢侈配饰品牌
2017/03/26 全球购物
阿里健康大药房:阿里自营网上药店
2017/08/01 全球购物
美国运动鞋和服装网上商店:YCMC
2018/09/15 全球购物
Ryderwear澳洲官网:澳大利亚高端健身训练装备品牌
2018/09/18 全球购物
逻辑链路控制协议
2016/10/01 面试题
英语专业毕业生求职简历的自我评价
2013/10/24 职场文书
依法行政工作汇报材料
2014/10/28 职场文书
python实现监听键盘
2021/04/26 Python
常用的文件对应的MIME类型汇总
2022/04/26 HTML / CSS