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使用scrapy抓取网站sitemap信息的方法
Apr 08 Python
按日期打印Python的Tornado框架中的日志的方法
May 02 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
Sep 21 Python
Ubuntu 下 vim 搭建python 环境 配置
Jun 12 Python
浅谈django model postgres的json字段编码问题
Jan 05 Python
Python编程实现从字典中提取子集的方法分析
Feb 09 Python
Python实现通讯录功能
Feb 22 Python
python奇偶行分开存储实现代码
Mar 19 Python
python的pytest框架之命令行参数详解(下)
Jun 27 Python
python opencv圆、椭圆与任意多边形的绘制实例详解
Feb 06 Python
浅谈tensorflow 中的图片读取和裁剪方式
Jun 30 Python
详解python对象之间的交互
Sep 29 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 大数据量及海量数据处理算法总结
2011/05/07 PHP
php获取字段名示例分享
2014/03/03 PHP
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
2014/06/25 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
2015/10/19 PHP
关于PHP 如何用 curl 读取 HTTP chunked 数据
2016/02/26 PHP
php根据命令行参数生成配置文件详解
2019/03/15 PHP
Laravel使用原生sql语句并调用的方法
2019/10/09 PHP
实用的JS正则表达式(手机号码/IP正则/邮编正则/电话等)
2013/01/11 Javascript
php,js,css字符串截取的办法集锦
2014/09/26 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
JavaScript中的数组特性介绍
2014/12/30 Javascript
Javascript中的getUTCDay()方法使用详解
2015/06/10 Javascript
JavaScript程序中的流程控制语句用法总结
2016/05/23 Javascript
微信小程序 使用canvas制作K线实例详解
2017/01/12 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
2017/01/13 Javascript
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
2018/01/09 Javascript
使用D3.js创建物流地图的示例代码
2018/01/27 Javascript
javascript回调函数详解
2018/02/06 Javascript
修改vue+webpack run build的路径方法
2018/09/01 Javascript
Javascript通过控制类名更改样式
2019/05/24 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
2019/09/27 Javascript
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
Python使用pyh生成HTML文档的方法示例
2018/03/10 Python
Django继承自带user表并重写的例子
2019/11/18 Python
Python学习之os模块及用法
2020/06/03 Python
PyQt中使用QtSql连接MySql数据库的方法
2020/07/28 Python
浅析pandas随机排列与随机抽样
2021/01/22 Python
Python中使用Selenium环境安装的方法步骤
2021/02/22 Python
浅谈CSS3 box-sizing 属性 有趣的盒模型
2019/04/02 HTML / CSS
CSS3实现的渐变幻灯片效果
2020/12/07 HTML / CSS
来自Ocado的宠物商店:Fetch
2018/07/10 全球购物
测绘工程本科生求职信
2013/10/10 职场文书
质检部经理岗位职责
2014/02/19 职场文书
12.4法制宣传日活动总结
2014/08/26 职场文书
党的群众路线教育实践活动批评与自我批评发言稿
2014/10/16 职场文书
2015年办公室个人工作总结
2015/04/20 职场文书