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中的pydoc模块和distutils模块
Apr 13 Python
Python实现合并字典的方法
Jul 07 Python
Python使用plotly绘制数据图表的方法
Jul 18 Python
Django与JS交互的示例代码
Aug 23 Python
机器学习的框架偏向于Python的13个原因
Dec 07 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
Apr 30 Python
详解PyCharm配置Anaconda的艰难心路历程
Aug 13 Python
Python图像处理之gif动态图的解析与合成操作详解
Dec 30 Python
python 列表中[ ]中冒号‘:’的作用
Apr 30 Python
Python numpy线性代数用法实例解析
Nov 15 Python
Python爬虫实战案例之爬取喜马拉雅音频数据详解
Dec 07 Python
python工具快速为音视频自动生成字幕(使用说明)
Jan 27 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
漫荒推荐:画风超赞的国风漫画推荐 超长假期不无聊
2020/03/08 国漫
web server使用php生成web页面的三种方法总结
2013/10/28 PHP
ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法
2014/11/04 PHP
PHP简单处理表单输入的特殊字符的方法
2016/02/03 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
2020/08/30 PHP
用Laravel轻松处理千万级数据的方法实现
2020/12/25 PHP
jQuery选择器源码解读(一):Sizzle方法
2015/03/31 Javascript
Uploadify上传文件方法
2016/03/16 Javascript
Vue.js使用v-show和v-if的注意事项
2016/12/13 Javascript
vue 实现复制内容到粘贴板clipboard的方法
2018/03/17 Javascript
自定义vue组件发布到npm的方法
2018/05/09 Javascript
修改Nodejs内置的npm默认配置路径方法
2018/05/13 NodeJs
详解js的视频和音频采集
2018/08/09 Javascript
详解vue配置后台接口方式
2019/03/29 Javascript
js的继承方法小结(prototype、call、apply)(推荐)
2019/04/17 Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
2019/09/03 Javascript
编写v-for循环的技巧汇总
2020/12/01 Javascript
详解JavaScript编程中的window与window.screen对象
2015/10/26 Python
Python输出带颜色的字符串实例
2017/10/10 Python
python 多线程对post请求服务器测试并发的方法
2019/06/13 Python
python函数调用,循环,列表复制实例
2020/05/03 Python
python 3.8.3 安装配置图文教程
2020/05/21 Python
css3实现简单的白云飘动背景特效
2020/10/28 HTML / CSS
html5指南-2.如何操作document metadata
2013/01/07 HTML / CSS
纽约著名的服装辅料来源:M&J Trimming
2017/07/26 全球购物
adidas爱尔兰官方网站:阿迪达斯运动鞋和运动服
2019/11/01 全球购物
过程装备与控制工程专业个人的求职信
2013/12/01 职场文书
社区优秀志愿者材料
2014/02/02 职场文书
工会优秀工作者事迹
2014/08/17 职场文书
11.9消防日宣传标语
2014/10/08 职场文书
员工手册董事长致辞
2015/07/29 职场文书
2015年“我们的节日·重阳节”活动总结
2015/07/29 职场文书
Python Flask请求扩展与中间件相关知识总结
2021/06/11 Python
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python
java设计模式--七大原则详解
2021/07/21 Java/Android
利用Python脚本写端口扫描器socket,python-nmap
2022/07/23 Python