Моя задача - создать несколько одинаковых сертификатов, только имя изменено на нем, и у меня есть этот список имен в формате Excel , файл demo.pptx содержит только один слайд сертификата и имеет 3 текстовых поля. просто хочу заменить текстовые поля моими данными Excel и создать новые несколько слайдов в новой PowerPoint.
from pptx import Presentation
import pandas as pd
dataframe = pd.read_excel('username.xlsx')
prs = Presentation('C:\\Users\\xyz\\Desktop\\demo.pptx')
search_str_username = 'User name'
search_str_formonth = 'Month'
search_str_lpm = 'Manager'
users = []
for i in dataframe['Nominee Name']:
users.append(i)
Manager = []
for i in dataframe['LPM']:
Manager.append(i)
Month = []
for i in dataframe['Period']:
Month.append(i)
x = len(users)
for i in range(x):
for slide in prs.slides:
for shape in slide.shapes:
if shape.has_text_frame:
shape.text = shape.text.replace(search_str_username, users[i])
shape.text = shape.text.replace(search_str_formonth, Month[i])
shape.text = shape.text.replace(search_str_lpm, Manager[i])
prs.save('C:\\Users\\suraj\\Desktop\\op.pptx')