Python之openpyxl生成折线图

Python处理excel的第三方库有:xlrd,xlwt,openpyxl等,xlrd只能读excel,xlwt只能写excel,openpyxl既可以读写数据,还能操作工作表,比如生成柱状图等,本文简要介绍如下:

 

一、openpyxl安装:

cmd窗口使用安装命令:pip install openpyxl

 

二、Excel基本组成:

1)工作簿(workbook):一个 Excel 文档;
2)工作表(sheet):一个工作簿可以包含多个表, 如:sheet1, sheet2等;
3)列(column): 列地址是从 A 开始的;
4)行(row): 行地址是从 1 开始的;
5)单元格(cell):指定行和列的格;

 

三、生成折线图:

1)新建Excel文档“BUG.xlsx",表中数据内容如下:

 

 2)代码参考如下:

from openpyxl import load_workbook
from openpyxl.chart import LineChart, Reference

wb = load_workbook("BUG.xlsx")
sheet = wb.active
chart = LineChart()
#图的标题
chart.title = "缺陷数量月度统计"
#y轴标题
chart.y_axis.title = "开发人员(单位:个)"
#x轴标题
chart.x_axis.title = "月度"
#数据来源
data = Reference(worksheet=sheet, min_row=2, max_row=4, min_col=1, max_col=5)
#设定x轴项目名称,来自表格第一行的第2列至第5列
categories = Reference(sheet, min_col=2, min_row=1, max_col=5, max_row=1)
#折线图数据,y轴名称为第一行列名称
chart.add_data(data, from_rows=True, titles_from_data=True)
chart.set_categories(categories)
sheet.add_chart(chart, "G1")
wb.save("BUG.xlsx")

 

3)运行代码后查看折线图效果如下:

 

四、生成柱状图:

1)新建Excel文档“BUG.xlsx",表中数据内容如下:

 

 2)代码参考如下:

from openpyxl import load_workbook
from openpyxl.chart import BarChart, Reference

wb = load_workbook("BUG.xlsx")
sheet = wb.active
chart =BarChart()
#图的标题
chart.title = "缺陷数量月度统计"
#y轴标题
chart.y_axis.title = "开发人员(单位:个)"
#x轴标题
chart.x_axis.title = "月度"
#数据来源
data = Reference(worksheet=sheet, min_row=2, max_row=4, min_col=1, max_col=5)
#设定x轴项目名称,来自表格第一行的第2列至第5列
categories = Reference(sheet, min_col=2, min_row=1, max_col=5, max_row=1)
#折线图数据,y轴名称为第一行列名称
chart.add_data(data, from_rows=True, titles_from_data=True)
chart.set_categories(categories)
sheet.add_chart(chart, "G1")
wb.save("BUG.xlsx")

 

3)运行代码后查看折线图效果如下: 

 

 



posted @ 2022-05-01 15:29  奔跑的番茄汁  阅读(2056)  评论(0编辑  收藏  举报