Python自動化操作Excel繪制條形圖!

導讀:沒有什么問題是Python解決不了的。
有位朋友在群里面咨詢了一個問題。大致意思如圖所示:

有人提議用vba,但是不得不說,沒有學過vba的朋友,會覺得vba用起來很困難。那還不容易,直接上Python,沒有什么問題是Python解決不了的。
哈哈,說的有點夸張了。但是上述這個問題,用Python解決是絕對沒問題。
01 解題思路
我們先來看看這個數(shù)據(jù),長啥樣?

一個Excel有3個sheet表,每個sheet表中有一個數(shù)據(jù)。我們想利用這3個數(shù)據(jù),繪制一條折線圖。
我的思路大致是這樣,整個步驟如下:
新建一個新的Excel表格;
讀取該測試數(shù)據(jù),并讀取每個sheet表中的值;
將上述讀取到的數(shù)據(jù),寫入新建的Excel表格中;
進行圖形的繪制;
02 完整代碼
有了上述思路,我們直接上代碼,代碼中給大家進行了詳細的注釋。
# 導入相關(guān)庫
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 = "銷售額"
# 讀取測試表格中的數(shù)據(jù),并寫入到新建的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進行數(shù)據(jù)分析》
評論
圖片
表情
