python自动化办公(第10课)编辑生成Excal内图表

python自动化办公(第10课)编辑生成Excal内图表

- openpyxl插入图片

  • openpyxl.drawing.image
  • sheet.add_image()
from openpyxl import load_workbook
from openpyxl.drawing.image import Image
workbook = load_workbook(filename="新建表.xlsx")
sheet = workbook.active
logo = Image("裴擒虎.png")
logo.height = 100
logo.width = 100
sheet.add_image(logo,"D3")
workbook.save(filename="新建表.xlsx")

- 插入柱状图

  • BarChart()
  • Reference()
from openpyxl import load_workbook
from openpyxl.chart import BarChart,Reference
workbook = load_workbook(filename="新建表.xlsx")
sheet = workbook.active

chart = BarChart()     # 建立一个柱状图
data = Reference(worksheet=sheet,min_row=12,max_row=14,min_col=3,max_col=14)     # 设定数据引用范围,行算进标题行,列从有数据的列开始算起
categories = Reference(sheet,min_col=2,min_row=13,max_row=14)     # 设定x轴项目名称,最小列是x轴名称列,最小行和最大行是数据行

chart.add_data(data,titles_from_data=True)     # 添加数据标题,有标题行的话可以写titles_from_data=True,表示数据源里有标题行
chart.set_categories(categories)     # 设置x轴类目
sheet.add_chart(chart,"G2")

workbook.save(filename="新建表.xlsx")

python自动化办公(第10课)编辑生成Excal内图表_第1张图片

from openpyxl import load_workbook
from openpyxl.chart import BarChart,Reference
workbook = load_workbook(filename="新建表.xlsx")
sheet = workbook.active

chart = BarChart()
data = Reference(worksheet=sheet,min_row=32,max_row=38,min_col=3,max_col=4)
categories = Reference(sheet,min_col=2,min_row=32,max_row=38)

chart.add_data(data,titles_from_data=True)
chart.set_categories(categories)
sheet.add_chart(chart,"G32")

workbook.save(filename="新建表.xlsx")

python自动化办公(第10课)编辑生成Excal内图表_第2张图片

- 插入条形图

  • LineChart()
from openpyxl import load_workbook
from openpyxl.chart import LineChart,Reference
workbook = load_workbook(filename="新建表.xlsx")
sheet = workbook.active

chart = LineChart()     # 建立一个折线图
data = Reference(worksheet=sheet,min_row=13,max_row=14,min_col=2,max_col=14)     # 设定数据引用范围,行只算数据行,列从最左端的列开始算起
categories = Reference(sheet,min_col=3,max_col=14,min_row=12)     # 设定x轴项目名称,最小列和对大列是数据列,最小行是标题行

chart.add_data(data,from_rows=True,titles_from_data=True)     # 添加数据标题,有标题行的话可以写titles_from_data=True,表示数据源里有标题行
# from_rows表示data中数据是横向的
chart.set_categories(categories)     # 设置x轴类目
sheet.add_chart(chart,"F1")

workbook.save(filename="新建表.xlsx")

python自动化办公(第10课)编辑生成Excal内图表_第3张图片

作业:编写python程序,要求如下:

  • 打开文件阿里云天池电商婴儿用户数据.xlsx
  • 统计buy_mount数据
  • 统计buy_mount的数量绘制一个柱状图和一个饼状图
  • 保存Excel文件

这题我不会,不写了,正宗数据可视化还是找专业课程学习吧,这个老师这里怎么操作也没讲清楚,会写的可以私信让我白嫖

你可能感兴趣的:(python自动化办公,excel,可视化)