文章目录

  • 前言
    • ⛳️ 1.xlswriter库
    • ⛳️ 2.生成折线图
    • ⛳️ 3.生成柱状图
    • ⛳️ 4.生成饼图
    • ⛳️ 5.实战拓展

前言

本文对Python 自动化操作Excel并生成图表,做了详细的分析和说明


我们先来看一下python中能操作Excel的常用库对比

⛳️ 1.xlswriter库

XlsxWriter是一个用来写Excel2007和xlsx文件格式的python模块。它可以用来写文本、数字、公式并支持单元格格式化、图片、图表、文档配置、自动过滤等特性
优点:功能更多、文档高保真、扩展格式类型、更快并可配置
缺点:不能用来读取和修改excel文件
官方文档:xlsxwriter.readthedocs.io/

⛳️ 2.生成折线图

# -*- coding:utf-8 -*-import xlsxwriter# 创建一个excel
workbook = xlsxwriter.Workbook("chart_line.xlsx")
# 创建一个sheet
worksheet = workbook.add_worksheet()
# worksheet = workbook.add_worksheet("bug_analysis")# 自定义样式,加粗
bold = workbook.add_format({'bold': 1})# --------1、准备数据并写入excel---------------
# 向excel中写入数据,建立图标时要用到
headings = ['Number', 'testA', 'testB']
data = [['2017-9-1', '2017-9-2', '2017-9-3', '2017-9-4', '2017-9-5', '2017-9-6'],[10, 40, 50, 20, 10, 50],[30, 60, 70, 50, 40, 30],
]# 写入表头
worksheet.write_row('A1', headings, bold)# 写入数据
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
worksheet.write_column('C2', data[2])# --------2、生成图表并插入到excel---------------
# 创建一个柱状图(line chart)
chart_col = workbook.add_chart({'type': 'line'})# 配置第一个系列数据
chart_col.add_series({# 这里的sheet1是默认的值,因为我们在新建sheet时没有指定sheet名# 如果我们新建sheet时设置了sheet名,这里就要设置成相应的值'name': '=Sheet1!$B$1','categories': '=Sheet1!$A$2:$A$7','values':   '=Sheet1!$B$2:$B$7','line': {'color': 'red'},
})# 配置第二个系列数据
chart_col.add_series({'name': '=Sheet1!$C$1','categories':  '=Sheet1!$A$2:$A$7','values':   '=Sheet1!$C$2:$C$7','line': {'color': 'yellow'},
})# 配置第二个系列数据(用了另一种语法)
# chart_col.add_series({
#     'name': ['Sheet1', 0, 2],
#     'categories': ['Sheet1', 1, 0, 6, 0],
#     'values': ['Sheet1', 1, 2, 6, 2],
#     'line': {'color': 'yellow'},
# })# 设置图表的title 和 x,y轴信息
chart_col.set_title({'name': 'The xxx site Bug Analysis'})
chart_col.set_x_axis({'name': 'Test number'})
chart_col.set_y_axis({'name':  'Sample length (mm)'})# 设置图表的风格
chart_col.set_style(1)# 把图表插入到worksheet并设置偏移
worksheet.insert_chart('A10', chart_col, {'x_offset': 25, 'y_offset': 10})workbook.close()

⛳️ 3.生成柱状图

# -*- coding:utf-8 -*-import xlsxwriter# 创建一个excel
workbook = xlsxwriter.Workbook("chart_column.xlsx")
# 创建一个sheet
worksheet = workbook.add_worksheet()
# worksheet = workbook.add_worksheet("bug_analysis")# 自定义样式,加粗
bold = workbook.add_format({'bold': 1})# --------1、准备数据并写入excel---------------
# 向excel中写入数据,建立图标时要用到
headings = ['Number', 'testA', 'testB']
data = [['2017-9-1', '2017-9-2', '2017-9-3', '2017-9-4', '2017-9-5', '2017-9-6'],[10, 40, 50, 20, 10, 50],[30, 60, 70, 50, 40, 30],
]# 写入表头
worksheet.write_row('A1', headings, bold)# 写入数据
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
worksheet.write_column('C2', data[2])# --------2、生成图表并插入到excel---------------
# 创建一个柱状图(column chart)
chart_col = workbook.add_chart({'type': 'column'})# 配置第一个系列数据
chart_col.add_series({# 这里的sheet1是默认的值,因为我们在新建sheet时没有指定sheet名# 如果我们新建sheet时设置了sheet名,这里就要设置成相应的值'name': '=Sheet1!$B$1','categories': '=Sheet1!$A$2:$A$7','values':   '=Sheet1!$B$2:$B$7','line': {'color': 'red'},
})# 配置第二个系列数据(用了另一种语法)
chart_col.add_series({'name': '=Sheet1!$C$1','categories':  '=Sheet1!$A$2:$A$7','values':   '=Sheet1!$C$2:$C$7','line': {'color': 'yellow'},
})# 配置第二个系列数据(用了另一种语法)
# chart_col.add_series({
#     'name': ['Sheet1', 0, 2],
#     'categories': ['Sheet1', 1, 0, 6, 0],
#     'values': ['Sheet1', 1, 2, 6, 2],
#     'line': {'color': 'yellow'},
# })# 设置图表的title 和 x,y轴信息
chart_col.set_title({'name': 'The xxx site Bug Analysis'})
chart_col.set_x_axis({'name': 'Test number'})
chart_col.set_y_axis({'name':  'Sample length (mm)'})# 设置图表的风格
chart_col.set_style(1)# 把图表插入到worksheet以及偏移
worksheet.insert_chart('A10', chart_col, {'x_offset': 25, 'y_offset': 10})
workbook.close()

⛳️ 4.生成饼图

# -*- coding:utf-8 -*-import xlsxwriter# 创建一个excel
workbook = xlsxwriter.Workbook("chart_pie.xlsx")
# 创建一个sheet
worksheet = workbook.add_worksheet()# 自定义样式,加粗
bold = workbook.add_format({'bold': 1})# --------1、准备数据并写入excel---------------
# 向excel中写入数据,建立图标时要用到
data = [['closed', 'active', 'reopen', 'NT'],[1012, 109, 123, 131],
]# 写入数据
worksheet.write_row('A1', data[0], bold)
worksheet.write_row('A2', data[1])# --------2、生成图表并插入到excel---------------
# 创建一个柱状图(pie chart)
chart_col = workbook.add_chart({'type': 'pie'})# 配置第一个系列数据
chart_col.add_series({'name': 'Bug Analysis','categories': '=Sheet1!$A$1:$D$1','values': '=Sheet1!$A$2:$D$2','points': [{'fill': {'color': '#00CD00'}},{'fill': {'color': 'red'}},{'fill': {'color': 'yellow'}},{'fill': {'color': 'gray'}},],})# 设置图表的title 和 x,y轴信息
chart_col.set_title({'name': 'Bug Analysis'})# 设置图表的风格
chart_col.set_style(10)# 把图表插入到worksheet以及偏移
worksheet.insert_chart('B10', chart_col, {'x_offset': 25, 'y_offset': 10})
workbook.close()

⛳️ 5.实战拓展

xlswriter新建并写入Excel

# 3.6.2 xlswriter新建并写入Excel
def fun3_6_2():# 创建Exce并添加sheetworkbook = xlsxwriter.Workbook('demo.xlsx')worksheet = workbook.add_worksheet()# 设置列宽worksheet.set_column('A:A', 20)# 设置格式bold = workbook.add_format({'bold': True})# 添加文字内容worksheet.write('A1', 'Hello')# 按格式添加内容worksheet.write('A2', 'World', bold)# 写一些数字worksheet.write(2, 0, 123)worksheet.write(3, 0, 123.456)# 添加图片worksheet.insert_image('B5', 'demo.png')workbook.close()


大家点赞、收藏、关注、评论啦

快看看用Python生成Excel炫酷图表,不然你就OUT了相关推荐

  1. 元旦到了,手把手教你用 Python 制作一个炫酷烟花秀

    大家好,我是小张, 今天是2021 的最后一天,到了这个时间点,部分小伙伴已经开始复盘这一年的得与失.比如今年增加了多少技能点,看了多少本书,写了多少篇文章或者年前的小目标实现进度大概多少等等:做一个 ...

  2. 【Doxygen】为项目生成一个炫酷的说明文档

    [Doxygen]为项目生成一个炫酷的说明文档 目录 [Doxygen]为项目生成一个炫酷的说明文档 1 Doxygen简介 2 安装 Doxygen 3 基本使用方式 3.1 从命令行生成 3.1. ...

  3. python大游戏_玩游戏就能学Python?太炫酷了!

    原标题:玩游戏就能学Python?太炫酷了! 要说现在最火的语言,那一定是Python了. 各种排行榜里,Python的排名都是蹭蹭蹭地往上涨.Python也确实是最适合新手入门的语言了,语法简单,应 ...

  4. python实现动态壁纸_流弊了!竟然用Python做一个炫酷的小姐姐动态壁纸

    原标题:流弊了!竟然用Python做一个炫酷的小姐姐动态壁纸 公众号关注 " 菜鸟学Python" 设为 "星标",每天带你玩转Python! (女神IU,图片 ...

  5. 使用python生成excel表格

    使用python生成excel表格 import datetime import xlwt# Create your tests here.# 创建excel文件 workbook = xlwt.Wo ...

  6. 出彩的毕业论文岂能没有几张炫酷图表???(来看一下matplotlib怎样绘制炫酷表格)(上)

    不知不觉在家已经待了三个多月,其他年级还好,在家写论文的小伙伴们不知进展如何?想要写一篇出彩得到导师赏识的文章,里面还能少得了几张炫酷的图表?这篇博客将写一下怎样用Python中matplotlib包 ...

  7. python烟花表白_python炫酷烟花表白源代码

    详细内容 天天敲代码的朋友,有没有想过代码也可以变得很酷炫又浪漫?今天就教大家用Python模拟出绽放的烟花,工作之余也可以随时让程序为自己放一场烟花秀. python炫酷烟花表白源代码 这个有趣的小 ...

  8. 用python生成excel文件_python通过openpyxl生成Excel文件的方法

    本文实例讲述了python通过openpyxl生成Excel文件的方法.分享给大家供大家参考.具体如下: 使用前请先安装openpyxl: easy_install openpyxl 通过这个模块可以 ...

  9. Python生成excel表格并设置样式

    python在做爬虫时会涉及到数据存储问题,下面说一下将数据存储在excel表格中,主要使用扩展类xlwt,下面详细说一下,主要涉及到了数据列,背景,名称等参数. 说明:python3.7.windo ...

最新文章

  1. Jenkins安装plugin
  2. ScrollView HorizontalScrollView
  3. Nginx upstream (一) 整体流程分析
  4. ViewState的原理,应用场合,注意事项
  5. Java案例:静态内部类
  6. bzoj1854 [Scoi2010]游戏
  7. Oracle 新建用户、赋予权限
  8. 统计php 代码行数,PHP实现统计代码行数小工具
  9. 计算机毕业设计Java医院医患管理系统(系统+源码+mysql数据库+Lw文档)
  10. 九位皇子对于皇帝的宝座争斗不休,那么是哪九位呢?
  11. JavaScript基础总结(1)
  12. 群晖7.0搭建discuz论坛
  13. 使用freemarker引擎动态生成word文件
  14. 感觉最近自己太张狂了一些。
  15. python moviepy 从视频中提取音频
  16. 微信小程序iphone11 wx.openBluetoothAdapter 返回状态10001 当前蓝牙适配器不可用
  17. Google Chrome谷歌浏览器崩溃,错误代码: STATUS_STACK_BUFFER_OVERRUN
  18. jupyter的使用
  19. 刷脸支付取款等人脸识别技术商用开始普及
  20. ffmpeg如何进行高清图片转码,截取视频

热门文章

  1. 人工神经网络的训练步骤,人工神经网络建模步骤
  2. 湖北省潜江市谷歌高清卫星地图下载
  3. 怎么卸载影子系统?卸载影子系统解决方法
  4. 肝完《浏览器基本原理与实践》的精华分享
  5. | 一文 uiautomator2 自动化测试工具使用
  6. 利盟linux驱动下载,利盟Lexmark X342n 驱动下载
  7. 关于intrins.h头文件的介绍
  8. 首曲线、计曲线、间曲线和助曲线
  9. Cypress系列(43)- visit() 命令详解
  10. 简述运用计算机思维解决问题的步骤,计算思维能力主要包括问题及问题求解过程的符号表示、逻辑思维与抽象思维、形式化证明、建立模型和模型计算、利用计算机技术等能力 答案:√...