python办公自动化——(二)替换PPT文档中图形数据-柱图

效果:

数据替换前 : 替换数据后:

实现代码

python 复制代码
import collections.abc
from pptx import Presentation
from pptx.util import Cm,Pt
import pyodbc
import pandas as pd
from pptx.chart.data import CategoryChartData
from  pptx.enum.chart import XL_TICK_LABEL_POSITION
import datetime
from dateutil.relativedelta import relativedelta
from pptx.dml.color import RGBColor
import os
from openpyxl import load_workbook
import logging
import matplotlib as plt
import datetime
from datetime import timedelta
import calendar
from lxml import etree
from pptx.oxml.ns import qn
import numpy as np
from pptx.enum.text import PP_ALIGN
plt.rcParams ['font.sans-serif']= ['Microsoft YaHei'] 
import datetime,calendar
import warnings
warnings.filterwarnings('ignore')

path='E:\\13 python 下侧双x轴折线图\\'
prs = Presentation(path+'ppt图形数据替换.pptx')
data_time=pd.read_excel(path+"数据.xlsx",sheet_name='sheet1')

ppt_8=prs.slides[8].shapes #获取ppt第8页
chart_data_8=CategoryChartData()
ser1=data_time.iloc[[38,37,39],2] # 取数据
ser2=data_time.iloc[[38,37,39],3]
# print(route_tk)

x=['第一季度','第二季度','第三季度']
chart_data_8.categories=x
chart_data_8.add_series(name='系列一',values=ser1,number_format='0.0')
chart_data_8.add_series(name='系列二',values=ser2,number_format='0.0')
group_1=ppt_8[0]
chart_1=group_1
catrgory_axis_1=chart_1.chart.category_axis
catrgory_axis_1.tick_label_position=XL_TICK_LABEL_POSITION.LOW
catrgory_axis_1.tick_labels.font.size=Pt(14)
chart_1.chart.replace_data(chart_data=chart_data_8)

prs.save(path+'replace_chartdata_bar0528.pptx')
相关推荐
MOON404☾10 分钟前
Rust程序语言设计(5-8)
开发语言·后端·rust
纪伊路上盛名在1 小时前
python5.1 数据类dataclass
python·面向对象编程·oop
用户718841750781 小时前
深究 Python 中 int () 函数为何无法转换含小数点的字符串
python
on_pluto_1 小时前
LLaMA: Open and Efficient Foundation Language Models 论文阅读
python·机器学习
小二·1 小时前
mac下解压jar包
ide·python·pycharm
XXX-X-XXJ1 小时前
二:RAG 的 “语义密码”:向量、嵌入模型与 Milvus 向量数据库实操
人工智能·git·后端·python·django·milvus
Knight_AL2 小时前
浅拷贝与深拷贝详解:概念、代码示例与后端应用场景
android·java·开发语言
枫叶丹42 小时前
【Qt开发】输入类控件(六)-> QDial
开发语言·qt
AI小云2 小时前
【Python与AI基础】Python编程基础:模块和包
人工智能·python
思考的笛卡尔2 小时前
Go语言实战:高并发服务器设计与实现
服务器·开发语言·golang