今天的主题是 Excel,相信大家都比较熟悉吧。而且我相信,大家在日常使用 Excel 的时候,肯定会遇到很多重复繁琐的工作,因为我也同样遇到过。这个时候我通常都会思考下,有没有办法让繁琐的事情变得简单些呢?

今天我就为 Excel 自动添加图表,实现起来很简单,喜欢本文记得关注、点赞、收藏。

注:完整版代码、数据、技术交流文末获取

基本原理

这里我们使用 xlsxwriter 这个库,简直不要太强大!

首先我们先来看下如何通过这个库来编辑 Excel 呢

import xlsxwriter# 创建一个excel
workbook = xlsxwriter.Workbook("chart.xlsx")
# 创建一个sheet
worksheet = workbook.add_worksheet()

对于创建 Excel 和新增 sheet 都没啥说的,基本套路搞定!

# 自定义样式,加粗
bold = workbook.add_format({'bold': 1})# 向excel中写入数据,建立图标时要用到
headings = ['Number', 'testA', 'testB']
data = [['2020-9-1', '2020-9-2', '2020-9-3', '2020-9-4', '2020-9-5', '2020-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])

这里,我们定义了一些测试数据,然后通过 write_row 函数写入表头,通过 write_column 函数来按列写入数据,此时我们得到的 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'},
})

通过 add_chart 函数来新增一个图表,type 就是 图表都类型
而对于 add_series 就是具体都图表数据信息了,相信也是一目了然的!

最后再设置 X、Y 轴的信息,并设置下图表所在的位置就完成了

# 设置图表的title 和 x,y轴信息
chart_col.set_title({'name': 'The test 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()

当然的对于画柱状图,饼图等都是类似的,我们也就不再重复了。

下一次,我们就来实现根据已有的数据,如何自动生成我们需要的图表,而且如果我想自动发送给某些人呢,能不能全程自动化搞定呢!

好了,今天就分享到这里

推荐文章

  • 李宏毅《机器学习》国语课程(2022)来了

  • 有人把吴恩达老师的机器学习和深度学习做成了中文版

  • 上瘾了,最近又给公司撸了一个可视化大屏(附源码)

  • 如此优雅,4款 Python 自动数据分析神器真香啊

  • 梳理半月有余,精心准备了17张知识思维导图,这次要讲清统计学

  • 年终汇总:20份可视化大屏模板,直接套用真香(文末附源码)

技术交流

欢迎转载、收藏、有所收获点赞支持一下!

目前开通了技术交流群,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

  • 方式①、发送如下图片至微信,长按识别,后台回复:加群;
  • 方式②、添加微信号:dkl88191,备注:来自CSDN
  • 方式③、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

Python 自动化办公:Excel 自动绘制图表相关推荐

  1. Python自动化办公:openpyxl绘制图表

    在后台回复[阅读书籍] 即可获取python相关电子书~ Hi,我是山月. 之前给大家分享了openpyxl的基础和进阶教程: Python自动化办公:openpyxl教程(基础) Python自动化 ...

  2. Python自动化办公之 Excel 自动绘制图表

    今天的主题是 Excel,相信大家都比较熟悉吧.而且我相信,大家在日常使用 Excel 的时候,肯定会遇到很多重复繁琐的工作,因为我也同样遇到过.这个时候我通常都会思考下,有没有办法让繁琐的事情变得简 ...

  3. python办公自动化模块_Python自动化办公Excel模块openpyxl原理及用法解析

    openpyxl 介绍 openpyxl 是一个直接可用于读写 xlsx .xlsm.xltx.xltm 文件的 Python 内置库,借助它可以利用 Python 语法对本地 xlsx 文件进行自动 ...

  4. 用python实现自动化办公------Excel操作

    用python实现自动化办公------Excel操作 用python实现自动化办公------Excel操作 用python实现自动化办公------Excel操作 摘要 一 matplotlib和 ...

  5. 【python自动化办公】Python自动化之Excel——XLWings模块(入门)

    目录 前言 1. 学习python自动化办公目的 2. 未来持续打卡内容 3. 资料来源 一.xlwings介绍 1. 是什么?有什么优点? 2. 数据结构 3. 操作内容 一个实例: 创建一个exc ...

  6. python自动化办公能做什么-用Python自动办公,做职场高手(完结)

    教程目录: ┣━07.S2 Word自动化处理,又快又好做文档 ┃ ┣━36 本章介绍 ┣━08.[Word]S2-1 轻松用Python快速生成Word文档 ┃ ┣━45.[真实案例]S2-1-3 ...

  7. 好用到爆的Python自动化办公教程pdf,Python × Excel × Word × PPT 一次搞定

    在这个自动化时代,我们有很多重复无聊的工作要做.想想这些你不再需要一次又一次地做的无聊的事情,让它自动化,让你的生活更轻松.那么在本文中,我将向您介绍一个好用到爆的Python自动化办公教程pdf,P ...

  8. python自动化办公(第9课)批量调整Excel中字体、样式

    python自动化办公(第9课)批量调整Excel中字体.样式 - 修改字体样式 Font(name="字体名",size=字体大小,bold=是否加粗,italic=是否斜体,c ...

  9. python自动写作软件_火遍全网!3天学会Python自动化办公!

    如今Python在自动化办公领域的表现越来越亮眼,受到了很多非IT的职场人士的推崇,也引得更多的人去了解.学习Python.但是很多初学者都会面临这么一个困惑:想把Python应用在工作中,却不知从何 ...

最新文章

  1. Lua中的基本函数库
  2. Coefficients: (1 not defined because of singularities)
  3. Jpa-操作mongodb
  4. 在Ubuntu下进行安卓开发遇到“insufficient permissions for device: user in plugdev group; ”问题的解决办法
  5. spark rdd reduceByKey示例
  6. Eclipse连接到My sql数据库之前操作
  7. 个基于TensorFlow的简单故事生成案例:带你了解LSTM
  8. 语音识别数据库成为了人工智能的核心(转发)
  9. 使用 GNU CC 的预编译头文件加快编译速度
  10. 如何解决手机电话本CSV格式和VCF格式的转换
  11. android拖拽 字体变形,字体变形的几种方法与技巧
  12. mysql8不区分大小写_不看不知道,这年头学个字母都有这么多门道(附学习资源)...
  13. 最基础硬件学习 | 简单闪烁灯制作
  14. 对于makefile不支持c++11的处理
  15. Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 8.074 s <<< FAILURE - in com.xxx.X
  16. VIP邮箱套餐对比,163、TOM、新浪哪家VIP邮箱最全能?
  17. csv是什么文件(ofd是什么文件)
  18. 解决报错:Cause: java.sql.SQLSyntaxErrorException: Table 'myactiviti.act_ge_property' doesn't exist
  19. Vue2 + Nodejs + WebSocket 完成你画我猜多人在线游戏
  20. 航天器轨道六要素和TLE两行轨道数据格式

热门文章

  1. boolean的由来及使用
  2. 使用Dockerfile创建openoffice镜像
  3. 2018-12 文献阅读:A Survey on Transfer Learning(2009)
  4. [mysql+qt] 图书管理系统
  5. Virtualbox如何配置Linux的网络连接
  6. Linux-网络工具MTR
  7. 正版七日杀服务器存档,如何在网吧保存steam七日杀存档 | 手游网游页游攻略大全...
  8. Java调用ffmepg+mencoder视频格式转换
  9. html vh和百分比,css 100vh等于多少?
  10. IC设计数字工程师技能必备