如何用Python自动化你的PPT制作



  • 群里有同学提到了这个需求:

    用Python分析文本自动生成ppt的思路:

    根据下面的这一段文本自动生成ppt:

    page(1)= maintitle【场外期权介绍】name【XXX】

    page(2) = catalog 【1场外期权的概念// 2场外期权的准入条件//3场外期权的种类及应用//4不同情况下的应用实例】

    page(3) = title【场外期权介绍】subtitle【1.1场外期权概述】
    text【期权:是指一种合约,该合约赋予持有人在某一特定日期或该日之前的任何时间以固定价格购进或售出一种资产的权利。
    场外期权:场外期权(一般简称为OTC )是指,在非集中性的交易场所进行的非标准化的金融期权合约的交易。场内期权与场外期权的区别最主要就表现在期权合约是否标准化。
    场外期权业务描述:证券公司为机构客户提供场外期权报价交易服务,交易要素根据客户需求灵活定制,支持日间询报价、即时达成交易,并提供交易策略定制、热点题材策略定制等产品服务,满足客户风险对冲、股票投资需求。】

    page(1)是指生成第一页ppt,等号后面的都是这一页里面的内容
    遍历这一段文本,读到maititle之后就自动将【】里面的内容放到大标题,读到name之后就将【】里面的内容放到下面的文本框里,如下图

    dc1e4ba1-56e9-4906-ada3-debf269acb00-image.png
    page(2)是指生成第二页ppt,遍历这一段文本,读到catalog之后就将【】里面的内容放到目录里,//是换行符,如下图所示
    d5fa2d4a-b199-4056-8ec3-3704e1a0bd6c-image.png
    page(3)是指生成第三页ppt,遍历这一段文本,读到title之后就把【】里面的内容放到顶上的标题里,读到subtitle之后就把【】里面的内容放到方框后的标题里,读到text之后就把【】里面的内容放到文本框里



  • 需求分析:
    首先,我们可以把文本用json的格式表示出来,这样就省去了解析文本的工作。
    然后我们可以找一些现成的PPT模板,用json的数据填补其中的内容。PPT里可以填补的内容在代码中被统一称为Placeholder。

    思路清楚之后就好做了。附上Github代码链接PPT_automation_tool



  • 群里有小伙伴说如果有用R的话可以用xaringan这个包,比较方便,参考https://slides.yihui.org/xaringan/zh-CN.html#1


登录后回复