前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python自动化操作Excel绘制条形图!

Python自动化操作Excel绘制条形图!

作者头像
数据森麟
发布2022-10-31 16:20:08
4150
发布2022-10-31 16:20:08
举报
文章被收录于专栏:数据森麟数据森麟
代码语言:javascript
复制

大家好,我是黄伟,统计学硕士,CSDN博客专家🚀

今天,有位朋友在群里面咨询了一个问题。

大致意思如图所示:

有人提议用vba,但是不得不说,没有学过vba的朋友,会觉得vba用起来很困难。那还不容易,直接上Python,没有什么问题是Python解决不了的。

哈哈,说的有点夸张了。但是上述这个问题,用Python解决是绝对没问题。

解题思路

我们先来看看这个数据,长啥样?

一个Excel有3个sheet表,每个sheet表中有一个数据。我们想利用这3个数据,绘制一条折线图。

我的思路大致是这样,整个步骤如下:

  1. 新建一个新的Excel表格;
  2. 读取该测试数据,并读取每个sheet表中的值;
  3. 将上述读取到的数据,写入新建的Excel表格中;
  4. 进行图形的绘制;

完整代码

有了上述思路,我们直接上代码,代码中给大家进行了详细的注释。

代码语言:javascript
复制
# 导入相关库
from openpyxl import load_workbook,Workbook
from openpyxl.chart import LineChart, Reference 

# 新建Excel表格
wb = Workbook()
ws = wb.active
ws.cell(row=1,column=1).value = "销售额"

# 读取测试表格中的数据,并写入到新建的Excel表格中
wb1 = load_workbook("测试.xlsx")
for index,value in enumerate(wb1.sheetnames):
    ws1 = wb1[value]
    ws.cell(row=index+2,column=1).value = ws1.cell(row=1,column=1).value

# 进行图形的绘制
chart = LineChart()

data = Reference(ws,min_row=1,max_row=4,min_col=1, max_col=1) 
chart.add_data(data,titles_from_data=True)

chart.title = "不同月份的销售额" 

chart.y_axis.scaling.min = 9
chart.y_axis.scaling.max = 14

ws.add_chart(chart,"D1")
wb.save("最新.xlsx")

最终效果如图所示:

代码语言:javascript
复制
◆ ◆ ◆  ◆ ◆麟哥新书已经在当当上架了,我写了本书:《拿下Offer-数据分析师求职面试指南》,目前当当正在举行活动,大家可以用相当于原价5折的预购价格购买,还是非常划算的:




数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。

管理员二维码:
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据森麟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 解题思路
  • 完整代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档