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的Twisted框架实现一个简单的服务器
Apr 16 Python
解决python os.mkdir创建目录失败的问题
Oct 16 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
Jan 24 Python
Python地图绘制实操详解
Mar 04 Python
浅谈python中get pass用法
Mar 19 Python
解决django中ModelForm多表单组合的问题
Jul 18 Python
tensorflow如何批量读取图片
Aug 29 Python
python检测服务器端口代码实例
Aug 31 Python
python中必要的名词解释
Nov 20 Python
Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)
Jan 03 Python
详解pycharm2020.1.1专业版安装指南(推荐)
Aug 07 Python
通过实例了解python__slots__使用方法
Sep 14 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
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
php curl模拟post请求小实例
2013/11/13 PHP
php fseek函数读取大文件两种方法
2016/10/12 PHP
PHP获取文件扩展名的方法实例总结
2017/06/10 PHP
实例介绍PHP删除数组中的重复元素
2019/03/03 PHP
取选中的radio的值
2010/01/11 Javascript
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
js实现拖拽 闭包函数详细介绍
2012/11/25 Javascript
JS简单获取当前日期和农历日期的方法
2017/04/17 Javascript
node使用Koa2搭建web项目的方法
2017/10/17 Javascript
Angular2整合其他插件的方法
2018/01/20 Javascript
vue过滤器用法实例分析
2019/03/15 Javascript
vscode配置vue下的es6规范自动格式化详解
2019/03/20 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
详解Python发送邮件实例
2016/01/10 Python
Python实现通讯录功能
2018/02/22 Python
Python3单行定义多个变量或赋值方法
2018/07/12 Python
Python语言检测模块langid和langdetect的使用实例
2019/02/19 Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
2019/07/11 Python
Python利用requests模块下载图片实例代码
2019/08/12 Python
Python3 把一个列表按指定数目分成多个列表的方式
2019/12/25 Python
Python综合应用名片管理系统案例详解
2020/01/03 Python
python词云库wordCloud使用方法详解(解决中文乱码)
2020/02/17 Python
Python 安装 virturalenv 虚拟环境的教程详解
2020/02/21 Python
详解Python多线程下的list
2020/07/03 Python
匡威荷兰官方网站:Converse荷兰
2018/10/24 全球购物
幼儿园教师国培感言
2014/02/02 职场文书
大学生简短的自我评价分享
2014/02/20 职场文书
历史专业学生的自我评价
2014/02/28 职场文书
银行行长竞聘演讲稿
2014/04/23 职场文书
临床医学专业求职信
2014/08/08 职场文书
2015年小学生新年寄语
2014/12/08 职场文书
旷工检讨书1000字
2015/01/01 职场文书
表扬信格式模板
2015/05/05 职场文书
2016年小学教师师德承诺书
2016/03/25 职场文书
python读取mat文件生成h5文件的实现
2022/07/15 Python