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中实现字符串类型与字典类型相互转换的方法
Aug 18 Python
python在windows和linux下获得本机本地ip地址方法小结
Mar 20 Python
在Python中使用列表生成式的教程
Apr 27 Python
Linux中Python 环境软件包安装步骤
Mar 31 Python
Python Django使用forms来实现评论功能
Aug 17 Python
python pandas中对Series数据进行轴向连接的实例
Jun 08 Python
详解Python中的正则表达式
Jul 08 Python
python判断一个数是否能被另一个整数整除的实例
Dec 12 Python
Python中numpy模块常见用法demo实例小结
Mar 16 Python
如何在sublime编辑器中安装python
May 20 Python
Opencv 图片的OCR识别的实战示例
Mar 02 Python
Python预测分词的实现
Jun 18 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
CakePHP去除默认显示的标题及图标的方法
2008/10/22 PHP
php中header跳转使用include包含解决参数丢失问题
2015/05/08 PHP
在WordPress的文章编辑器中设置默认内容的方法
2015/12/29 PHP
MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
2010/05/06 Javascript
加载列表时jquery获取ul中第一个li的属性
2014/11/02 Javascript
node.js中的querystring.escape方法使用说明
2014/12/10 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
2016/05/31 Javascript
实例解析jQuery中如何取消后续执行内容
2016/12/01 Javascript
基于JavaScript实现拖动滑块效果
2017/02/16 Javascript
详解使用Next.js构建服务端渲染应用
2018/07/10 Javascript
JS二级菜单不同实现方法分析【4种方法】
2018/12/21 Javascript
JS高阶函数原理与用法实例分析
2019/01/15 Javascript
RxJS的入门指引和初步应用
2019/06/15 Javascript
vue中可编辑树状表格的实现代码
2020/10/31 Javascript
[01:18:36]LGD vs VP Supermajor 败者组决赛 BO3 第一场 6.10
2018/07/04 DOTA
[01:21:36]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python获得两个数组交集、并集、差集的方法
2015/03/27 Python
在MAC上搭建python数据分析开发环境
2016/01/26 Python
Python补齐字符串长度的实例
2018/11/15 Python
Python画图高斯分布的示例
2019/07/10 Python
从训练好的tensorflow模型中打印训练变量实例
2020/01/20 Python
python实现PCA降维的示例详解
2020/02/24 Python
DataFrame 数据合并实现(merge,join,concat)
2020/06/14 Python
html5的websockets全双工通信详解学习示例
2014/02/26 HTML / CSS
一些.net面试题
2014/10/06 面试题
新闻专业应届生求职信
2013/10/31 职场文书
银行见习期自我鉴定
2014/01/29 职场文书
蓝颜请假条
2014/04/11 职场文书
品德评语大全
2014/05/05 职场文书
2014优秀党员事迹材料
2014/08/14 职场文书
党员学习群众路线心得体会
2014/11/04 职场文书
大班上学期个人总结
2015/02/13 职场文书
推荐信范文大全
2015/03/27 职场文书
民主生活会主持词
2015/07/01 职场文书
大学生村官驻村工作心得体会
2016/01/23 职场文书
浅谈MySql update会锁定哪些范围的数据
2022/06/25 MySQL