ive 创建了一个代码来从数据框创建 PPT 演示文稿。定义了一个过程“addtext”来添加传递一些参数的文本。不知何故,程序忽略了文本大小和颜色.. 为什么?谢谢!
from pptx import Presentation
from pptx.util import Inches, Pt
prs = Presentation()
blank_slide_layout = prs.slide_layouts[6]
import pandas as pd
data = {
'titolo': ['Pizza Margherita', 'Bolognese', 'Fish and Chips', 'Tacos', 'Sushi', 'Paella', 'Spaghetti Carbonara', 'Couscous', 'Falafel', 'Goulash'],
'commenti': ['pomodoro, mozzarella, basilico', 'pomodoro, carne macinata, carote, sedano, cipolla', 'pesce fritto, patatine fritte', 'carne, cipolle, peperoni, pomodoro, avocado', 'riso, pesce crudo, alga nori', 'riso, pollo, gamberi, verdure', 'uova, pancetta, pecorino romano', 'couscous, agnello, verdure', 'fagioli, cipolle, spezie', 'carne, paprika, patate'],
'numero': [8, 12, 10, 9, 15, 20, 14, 18, 6, 16],
'paese': ['Italia', 'Italia', 'Regno Unito', 'Messico', 'Giappone', 'Spagna', 'Italia', 'Marocco', 'Medio Oriente', 'Ungheria']
}
df = pd.DataFrame(data)
def addtext(titlee,L,T,SS,RR,GG,BB):
txBox = slide.shapes.add_textbox(Inches(L),Inches(T),Inches(1),Inches(1))
tf = txBox.text_frame
p = tf.paragraphs[0]
run = p.add_run()
run.text = titlee
font.name = 'Calibri'
font.size = Pt(SS)
font.color.rgb = RGBColor(RR,GG,BB)
for index, row in df.iterrows():
slide = prs.slides.add_slide(blank_slide_layout)
addtext(row['titolo'],.2,1,42,0, 0, 255)
addtext(row['commenti'],.2,2,22,102, 255, 102)
addtext('Costo medio: ' + str(row['numero']) + ' €',.2,5,18,32, 32, 255)
prs.save('test.pptx')
您还没有将
font
变量与运行相关联(变量 run
)。