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

Posted 大数据v

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python自动化操作Excel绘制条形图!相关的知识,希望对你有一定的参考价值。


导读:没有什么问题是Python解决不了的。

作者:黄伟呢

来源:数据分析与统计学之美(ID:huang_superme)

有位朋友在群里面咨询了一个问题。大致意思如图所示:

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

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

01 解题思路

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

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

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

  1. 新建一个新的Excel表格;

  2. 读取该测试数据,并读取每个sheet表中的值;

  3. 将上述读取到的数据,写入新建的Excel表格中;

  4. 进行图形的绘制;

02 完整代码

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

# 导入相关库
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")

最终效果如图所示:

延伸阅读👇

延伸阅读《利用Python进行数据分析》

干货直达👇

更多精彩👇

在公众号对话框输入以下关键词

查看更多优质内容!

读书 | 书单 | 干货 讲明白 | 神操作 | 手把手

大数据 | 云计算 | 数据库 | Python | 爬虫 | 可视化

AI | 人工智能 | 机器学习 | 深度学习 | NLP

5G | 中台 | 用户画像 数学 | 算法 数字孪生

据统计,99%的大咖都关注了这个公众号

👇

以上是关于Python自动化操作Excel绘制条形图!的主要内容,如果未能解决你的问题,请参考以下文章

python绘制图

如何读取Excel表格中"不同sheet表"的同一位置单元格数据,并绘制条形图呢?

Python使用matplotlib绘制柱状图(bar plot)实战:水平条形图垂直条形图分组条形图堆叠条形图

在python中绘制条形图[重复]

python使用matplotlib绘制水平条形图并在条形图上添加实际数值标签实战

如何在python中绘制条形图