Python自动化 综合实战PPT
''' 需求分析: 4S店汽车消费者洞察报告 ''' #导入模块 import pptx from pptx.util import Inches,Pt #度量单位 from pptx.enum.shapes import MSO_SHAPE # from pptx.dml.color import RGBColor from pptx.chart.data import CategoryChartData from pptx.enum.chart import XL_CHART_TYPE from pptx.enum.chart import XL_LEGEND_POSITION #构建PPT prs = pptx.Presentation() #第一页 slide1 = prs.slides.add_slide(prs.slide_layouts[0]) #添加幻灯片,布局为第一个 slide1.shapes.title.text = '4S店汽车消费者洞察报告' slide1.shapes.placeholders[1].text = '2020年第一季度' #第二页 slide2 = prs.slides.add_slide(prs.slide_layouts[1]) #添加幻灯片,布局为第一个 slide2.shapes.title.text = '目录' content=slide2.shapes.placeholders[1].text_frame #添加文本框 content.add_paragraph().text = '4S店第一季度汽车销售榜' content.add_paragraph().text = '汽车用户消费偏好趋势' content.add_paragraph().text = '汽车消费者用户画像' #第三页 slide3 = prs.slides.add_slide(prs.slide_layouts[1]) #添加幻灯片,布局为第一个 slide3.shapes.title.text = '目录' table = slide3.shapes.add_table(11,4,Inches(0),Inches(1.4),Inches(10),Inches(6)).table #写入内容表格 table.cell(0,0).text = '排名' table.cell(0,1).text = '车型' table.cell(0,2).text = '所属厂商' table.cell(0,3).text = '一季度销售额' data = [{'type':'xxx','base':'xxxx','total':5000}, {'type':'xxx','base':'xxxx','total':5000}, {'type':'xxx','base':'xxxx','total':5000}, {'type':'xxx','base':'xxxx','total':5000}, {'type':'xxx','base':'xxxx','total':5000}, {'type':'xxx','base':'xxxx','total':5000}, {'type':'xxx','base':'xxxx','total':5000}, {'type':'xxx','base':'xxxx','total':5000}, {'type':'xxx','base':'xxxx','total':5000}, {'type':'xxx','base':'xxxx','total':5000}] #遍历添加数据 for i in range(11): #不会覆盖第一行 if i>0: table.cell(i,0).text = str(i) table.cell(i,1).text = data[i-1]['type'] table.cell(i,2).text = data[i-1]['base'] table.cell(i,3).text = str(data[i-1]['total']) #第四页 slide4 = prs.slides.add_slide(prs.slide_layouts[1]) #添加幻灯片,布局为第一个 slide4.shapes.title.text = '汽车用户消费偏好趋势' #添加形状 shape1 = slide4.shapes.add_shape(MSO_SHAPE.RECTANGLE,Inches(1),Inches(1.5),Inches(3),Inches(2.5)) #填充 fill = shape1.fill fill.solid() fill.fore_color.rgb = RGBColor(51,200,255) shape1.text_frame.add_paragraph().text = '价位偏好' p1 = shape1.text_frame.add_paragraph() p1.text = '经济入门型' p1.font.size = Pt(35) shape2 = slide4.shapes.add_shape(MSO_SHAPE.RECTANGLE,Inches(4),Inches(1.5),Inches(5),Inches(2.5)) #填充 fill = shape1.fill fill.solid() fill.fore_color.rgb = RGBColor(0,200,255) shape2.text_frame.add_paragraph().text = '国别偏好' p1 = shape2.text_frame.add_paragraph() p1.text = '国产自主品牌' p1.font.size = Pt(35) shape3 = slide4.shapes.add_shape(MSO_SHAPE.RECTANGLE,Inches(1),Inches(4),Inches(8),Inches(2.5)) #填充 fill = shape1.fill fill.solid() fill.fore_color.rgb = RGBColor(51,200,255) shape3.text_frame.add_paragraph().text = '车型偏好' p1 = shape3.text_frame.add_paragraph() p1.text = 'SUV车型仍为主力 ' p1.font.size = Pt(35) #第五页 slide5 = prs.slides.add_slide(prs.slide_layouts[1]) #添加幻灯片,布局为第一个 slide5.shapes.title.text = '汽车消费者用户画像' chart_data = CategoryChartData() #构建数据 chart_data.categories = ['70后','80后','90后'] #x轴标注类别 chart_data.add_series('各年龄段的消费情况',(40,50,52)) #插入图表 slide5.shapes.add_chart( XL_CHART_TYPE.COLUMN_CLUSTERED,Inches(1),Inches(2.5),Inches(4),Inches(3),chart_data ) chart_data1 = CategoryChartData() #构建数据 chart_data1.categories = ['男','女'] #x轴标注类别 chart_data1.add_series('性别分布',(40,50)) #插入图表 chart =slide5.shapes.add_chart( XL_CHART_TYPE.PIE,Inches(6),Inches(2.5),Inches(3),Inches(3),chart_data1 ).chart #设置图例和图例显示的位置、 chart.has_legend = True chart.legend.position = XL_LEGEND_POSITION.RIGHT #第六页 slide4 = prs.slides.add_slide(prs.slide_layouts[0]) #添加幻灯片,布局为第一个 slide4.shapes.title.text = '谢谢' #保存 prs.save('report.pptx')
    M54

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号