程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

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

編輯:Python

作者 | 黃偉呢

來源 | 數據分析與統計學之美

今天,有位朋友在群裡面咨詢了一個問題。

大致意思如圖所示:

有人提議用vba,但是不得不說,沒有學過vba的朋友,會覺得vba用起來很困難。那還不容易,直接上Python,沒有什麼問題是Python解決不了的。

哈哈,說的有點誇張了。但是上述這個問題,用Python解決是絕對沒問題。

解題思路

我們先來看看這個數據,長啥樣?

一個Excel有3個sheet表,每個sheet表中有一個數據。我們想利用這3個數據,繪制一條折線圖。

我的思路大致是這樣,整個步驟如下:

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

  2. 讀取該測試數據,並讀取每個sheet表中的值;

  3. 將上述讀取到的數據,寫入新建的Excel表格中;

  4. 進行圖形的繪制;

完整代碼

有了上述思路,我們直接上代碼,代碼中給大家進行了詳細的注釋。

# 導入相關庫
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")

最終效果如圖所示:

往期回顧

Matplotlib繪制圓環圖的兩種方法!

13個python必備的知識,建議收藏!

神器,輕松可視化Python調用流程!

低代碼走出半生,歸來仍是"毒瘤"!

分享
點收藏
點點贊
點在看

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved