影刀RPA 行业报告自动生成:数据采集到PPT输出全流程
作者:林焱
什么情况用什么
咨询公司、市场调研团队、战略部门经常要做行业分析报告。流程一般是:从统计局、行业协会、上市公司财报里扒数据 → Excel整理 → 做成PPT。一份50页的行业报告,一个分析师要花两周。
影刀RPA能加速其中的"数据采集+初步整理"环节,把分析师从数据搬运工解放出来做真正的分析。
怎么做
店群矩阵自动化突破运营极限!
第一步:数据源采集
多源并行采集:
国家统计局数据:
1. 【打开网页】https://data.stats.gov.cn/ 2. 【选择】指标 → 行业 → 时间范围 3. 【点击】"查询" 4. 【获取表格】读取数据表格 5. 【翻页】逐页抓取上市公司财报:
1. 【打开网页】http://www.cninfo.com.cn/(巨潮资讯网) 2. 【填写】搜索框:股票代码 3. 【点击】"定期报告" 4. 【筛选】年份/季度 5.  6. 【点击下载】年报PDF 7. 【读取PDF】提取财务数据(营收、利润、增长率)行业协会/第三方报告:
1. 【循环】遍历目标网站列表 2. 【打开网页】打开报告下载页 3. 【点击下载】PDF报告 4. 【读取PDF】提取关键数据第二步:数据整理
importpandasaspdimportnumpyasnp# 各渠道数据汇总stats_data=pd.read_excel(r'D:\data\统计局数据.xlsx')financials=pd.read_excel(r'D:\data\上市公司财务数据.xlsx')industry_data=pd.read_excel(r'D:\data\行业规模数据.xlsx')# 合并计算merged=stats_data.merge(financials,on='年份',how='outer')merged['市场集中度']=merged['CR5营收']/merged['行业总营收']*100merged['同比增长率']=merged['营收'].pct_change()*100merged['复合增长率']=(merged['营收'].iloc[-1]/merged['营收'].iloc[0])**(1/len(merged))-1第三步:自动生成图表
importmatplotlib.pyplotaspltimportmatplotlib matplotlib.rcParams['font.sans-serif']=['SimHei']fig,axes=plt.subplots(2,3,figsize=(16,10))# 图1:行业规模趋势axes[0,0].plot(merged['年份'],merged['行业总营收'],marker='o',color='#4472C4')axes[0,0].set_title('行业市场规模趋势(亿元)')# 图2:增长率axes[0,1].bar(merged['年份'],merged['同比增长率'],color=['green'ifx>0else'red'forxinmerged['同比增长率']])axes[0,1].set_title('年度增长率')# 图3:市场集中度axes[0,2].plot(merged['年份'],merged['市场集中度'],marker='s',color='#ED7D31')axes[0,2].set_title('CR5市场集中度')# 图4、5、6:主要企业对比top_firms=merged[['年份','企业A','企业B','企业C','企业D']].set_index('年份')top_firms.plot(kind='bar',ax=axes[1,0],title='主要企业营收对比')plt.tight_layout()plt.savefig(r'D:\reports\charts.png',dpi=200)第四步:自动生成PPT
frompptximportPresentationfrompptx.utilimportInches,Ptfrompptx.enum.textimportPP_ALIGN prs=Presentation()# 封面slide=prs.slides.add_slide(prs.slide_layouts[0])slide.shapes.title.text=f'{industry_name}行业分析报告'slide.placeholders[1].text=f'{year}年度 | 林焱'# 目录页slide=prs.slides.add_slide(prs.slide_layouts[1])slide.shapes.title.text='报告目录'content=slide.placeholders[1].text_framefori,sectioninenumerate(sections,1):content.add_paragraph(f'{i}.{section}')# 数据页面(带图表)slide=prs.slides.add_slide(prs.slide_layouts[5])# 空白布局slide.shapes.add_picture(r'D:\reports\charts.png',Inches(0.5),Inches(1),Inches(9),Inches(5.5))# 结论页slide=prs.slides.add_slide(prs.slide_layouts[1])slide.shapes.title.text='核心结论与建议'forconclusioninkey_conclusions:content.add_paragraph(f"•{conclusion}")prs.save(r'D:\reports\行业分析报告.pptx')temu店群自动化报活动案例
有什么坑
坑1:数据源经常改版
统计局网站每改一次版,之前的元素定位全废。建议优先找JSON/CSV数据接口,网页抓取作为最后手段。
坑2:数据时效性问题
上市公司年报可能有3-4个月的滞后。报告中必须标注数据截止时间,避免用过期数据做决策依据。
坑3:单位不一致
统计局用"亿元",上市公司财报用"元",行业报告用"万美元"。汇总时必须统一单位。
坑4:PPT模板不灵活
硬编码的PPT生成脚本遇到模板变了就要改代码。建议把PPT模板做成标准文件,脚本只负责"往模板里填数据"。
总结:行业报告自动化的正确分工是——RPA负责数据采集和图表生成(体力活),分析师负责趋势判断和结论撰写(脑力活)。