导读:没有什么问题是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%的大咖都关注了这个公众号
👇
继续阅读
阅读原文