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多线程Selenium跨浏览器测试
Apr 01 Python
ubuntu安装sublime3并配置python3环境的方法
Mar 15 Python
PyCharm设置每行最大长度限制的方法
Jan 16 Python
Pyqt5 基本界面组件之inputDialog的使用
Jun 25 Python
Python 控制终端输出文字的实例
Jul 12 Python
python自动化测试之DDT数据驱动的实现代码
Jul 23 Python
Pycharm debug调试时带参数过程解析
Feb 03 Python
Python Django form 组件动态从数据库取choices数据实例
May 19 Python
使用opencv中匹配点对的坐标提取方式
Jun 04 Python
DataFrame.groupby()所见的各种用法详解
Jun 14 Python
python time.strptime格式化实例详解
Feb 03 Python
python画条形图的具体代码
Apr 20 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
excellent!――ASCII Art(由目标图象生成ascii)
2007/02/20 PHP
PHPwind整合最土系统用户同步登录实现方法
2010/12/08 PHP
php 中文字符串首字母的获取函数分享
2013/11/04 PHP
php分页代码学习示例分享
2014/02/20 PHP
android上传图片到PHP的过程详解
2015/08/03 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
插件:检测javascript的内存泄漏
2007/03/04 Javascript
JS 建立对象的方法
2007/04/21 Javascript
window.event快达到全浏览器支持了,以后使用就方便了
2011/11/30 Javascript
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
2013/12/13 Javascript
checkbox勾选判断代码分析
2014/06/11 Javascript
利用Js的console对象,在控制台打印调式信息测试Js的实现
2016/11/26 Javascript
angular2 ng2 @input和@output理解及示例
2017/10/10 Javascript
[46:23]OG vs EG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Django ORM框架的定时任务如何使用详解
2017/10/19 Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
2018/12/06 Python
python utc datetime转换为时间戳的方法
2019/01/15 Python
Python如何实现转换URL详解
2019/07/02 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
美国最受欢迎的度假租赁网站:VRBO
2016/08/02 全球购物
英国标准协会商店:BSI Shop
2019/02/25 全球购物
锐步英国官网:Reebok英国
2019/11/29 全球购物
党员年终民主评议的自我评价
2013/11/05 职场文书
学校司机岗位职责
2013/11/14 职场文书
网吧消防安全制度
2014/01/28 职场文书
给校长的建议书200字
2014/05/16 职场文书
分公司总经理岗位职责
2014/08/03 职场文书
领导班子四风问题对照检查材料
2014/09/27 职场文书
岳庙导游词
2015/02/04 职场文书
小学生一年级(书信作文)
2019/08/13 职场文书
CSS几步实现赛博朋克2077风格视觉效果
2021/06/16 HTML / CSS
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫
SpringCloud Feign请求头删除修改的操作代码
2022/03/20 Java/Android
为什么MySQL不建议使用SELECT *
2022/04/03 MySQL
Tomcat执行startup.bat出现闪退的原因及解决办法
2022/04/20 Servers