Python实现导出数据生成excel报表的方法示例

发布时间 - 2026-01-11 02:18:19    点击率:

本文实例讲述了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文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。


# Python  # 导出数据  # 生成  # excel报表  # Python 实现自动化Excel报表的步骤  # python实现自动化报表功能(Oracle/plsql/Excel/多线程)  # Python数据报表之Excel操作模块用法分析  # python生成每日报表数据(Excel)并邮件发送的实例  # Python数据处理之Excel报表自动化生成与分析  # 遍历  # 操作技巧  # 行号  # 进阶  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 并将  # 更多关于  # 能对  # 所有内容  # 所述  # 数据库中  # 该文件  # 程序设计  # 使用技巧  # 文本文件  # 新建一个  # 条数 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 香港服务器建站指南:免备案优势与SEO优化技巧全解析  如何在自有机房高效搭建专业网站?  微信小程序 scroll-view组件实现列表页实例代码  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  网站图片在线制作软件,怎么在图片上做链接?  焦点电影公司作品,电影焦点结局是什么?  Laravel怎么连接多个数据库_Laravel多数据库连接配置  如何正确下载安装西数主机建站助手?  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  如何用PHP快速搭建CMS系统?  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  如何快速搭建高效WAP手机网站吸引移动用户?  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  如何快速生成凡客建站的专业级图册?  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  如何快速生成ASP一键建站模板并优化安全性?  如何在景安云服务器上绑定域名并配置虚拟主机?  长沙做网站要多少钱,长沙国安网络怎么样?  javascript如何操作浏览器历史记录_怎样实现无刷新导航  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  js实现点击每个li节点,都弹出其文本值及修改  Laravel PHP版本要求一览_Laravel各版本环境要求对照  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  高防服务器租用首荐平台,企业级优惠套餐快速部署  如何登录建站主机?访问步骤全解析  微信小程序 input输入框控件详解及实例(多种示例)  Java遍历集合的三种方式  想要更高端的建设网站,这些原则一定要坚持!  Laravel如何与Pusher实现实时通信?(WebSocket示例)  如何在香港免费服务器上快速搭建网站?  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  Laravel如何使用查询构建器?(Query Builder高级用法)  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  Laravel如何自定义分页视图?(Pagination示例)  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  javascript中的try catch异常捕获机制用法分析  Laravel如何实现数据库事务?(DB Facade示例)  如何在万网主机上快速搭建网站?  如何在橙子建站中快速调整背景颜色?  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  如何用景安虚拟主机手机版绑定域名建站?  JavaScript实现Fly Bird小游戏