影刀RPA 将采集数据自动生成可视化图表
2026/7/15 4:25:43 网站建设 项目流程

影刀RPA 将采集数据自动生成可视化图表

Excel里的数字密密麻麻,老板想一眼看到趋势。把采集的数据自动生成图表,这是报表自动化的最后一公里。

用Python的matplotlib库,几行代码就能在影刀里生成柱状图、折线图、饼图,然后插入Excel或直接发图片。


安装matplotlib

在影刀的Python环境里安装:

pip install matplotlib

拼多多店群自动化报活动上架!


基础图表模板

柱状图(销售额对比)

importmatplotlib.pyplotaspltimportmatplotlib matplotlib.rcParams['font.sans-serif']=['SimHei']# 支持中文matplotlib.rcParams['axes.unicode_minus']=False# 负号正常显示# 数据(从影刀采集的数据传入)categories=['商品A','商品B','商品C','商品D']values=[35800,22000,45000,18000]# 创建图表fig,ax=plt.subplots(figsize=(10,6))bars=ax.bar(categories,values,color=['#4472C4','#ED7D31','#A5A5A5','#FFC000'])# 数值标签forbar,valinzip(bars,values):ax.text(bar.get_x()+bar.get_width()/2,bar.get_height()+500,f'¥{val:,}',ha='center',fontsize=11)ax.set_title('各商品销售额对比',fontsize=16,fontweight='bold')ax.set_ylabel('销售额(元)')ax.grid(axis='y',alpha=0.3)plt.tight_layout()plt.savefig(r'C:\RPA_data\chart_sales.png',dpi=150,bbox_inches='tight')plt.close()print('柱状图已生成')

折线图(趋势变化)

importmatplotlib.pyplotasplt dates=['6/25','6/26','6/27','6/28','6/29','6/30','7/1']sales=[12000,15000,11000,18000,21000,19000,23500]fig,ax=plt.subplots(figsize=(10,6))ax.plot(dates,sales,marker='o',linewidth=2,markersize=8,color='#4472C4')ax.fill_between(range(len(dates)),sales,alpha=0.1,color='#4472C4')fori,(d,v)inenumerate(zip(dates,sales)):ax.annotate(f'¥{v:,}',(i,v),textcoords="offset points",![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/1bafa1b7fdfb410eb7ace02baf8ce4fd.png#pic_center)xytext=(0,12),ha='center',fontsize=9)ax.set_title('近7天销售额趋势',fontsize=16,fontweight='bold')ax.grid(alpha=0.3)plt.tight_layout()plt.savefig(r'C:\RPA_data\chart_trend.png',dpi=150,bbox_inches='tight')plt.close()

饼图(占比分析)

importmatplotlib.pyplotasplt labels=['广东省','浙江省','江苏省','其他']sizes=[35,25,20,20]colors=['#4472C4','#ED7D31','#A5A5A5','#FFC000']explode=(0.05,0,0,0)# 突出第一块fig,ax=plt.subplots(figsize=(8,8))wedges,texts,autotexts=ax.pie(sizes,explode=explode,labels=labels,colors=colors,autopct='%1.1f%%',startangle=90,textprops={'fontsize':12})ax.set_title('各地区销售额占比',fontsize=16,fontweight='bold')plt.tight_layout()plt.savefig(r'C:\RPA_data\chart_pie.png',dpi=150,bbox_inches='tight')plt.close()

把图表插入Excel

fromopenpyxlimportload_workbookfromopenpyxl.drawing.imageimportImagefromopenpyxl.utilsimportget_column_letter# 假设前面已经生成了Excel和图表PNGwb=load_workbook(r'C:\RPA_data\report.xlsx')# 创建图表Sheetws_chart=wb.create_sheet('趋势图')img=Image(r'C:\RPA_data\chart_trend.png')img.width=600img.height=360ws_chart.add_image(img,'A1')ws_chart2=wb.create_sheet('占比图')img2=Image(r'C:\RPA_data\chart_pie.png')img2.width=500img2.height=500ws_chart2.add_image(img2,'A1')wb.save(r'C:\RPA_data\report_with_charts.xlsx')print('图表已插入Excel')

一键生成综合报表

TEMU店群矩阵自动化运营核价报活动

defgenerate_full_report(data,output_path):"""一键生成:Excel数据 + 图表"""fromopenpyxlimportWorkbookfromopenpyxl.drawing.imageimportImageimportmatplotlib.pyplotasplt wb=Workbook()# Sheet1: 数据ws_data=wb.active ws_data.title='原始数据'headers=list(data[0].keys())ifdataelse[]forcol,hinenumerate(headers,1):ws_data.cell(row=1,column=col,value=h)fori,rowinenumerate(data,2):forj,keyinenumerate(headers,1):ws_data.cell(row=i,column=j,value=row.get(key,''))# 生成饼图并插入chart_path=r'C:\RPA_data\temp_chart.png'# ... 生成图表代码 ...plt.savefig(chart_path)plt.close()ws_chart=wb.create_sheet('图表')img=Image(chart_path)ws_chart.add_image(img,'A1')wb.save(output_path)print(f'综合报表已生成:{output_path}')

常见问题

1. 中文显示为方块。matplotlib默认不支持中文。需要指定中文字体或下载SimHei字体。

2. 图表背景是灰色。新版matplotlib默认白色背景。如果显示灰色,加plt.style.use('default')

3. 生成的图表在影刀里看不到。图表保存为PNG文件后,需要通过其他方式(打开文件夹、插入Excel)来查看。影刀的Python节点不支持直接弹出matplotlib窗口。


总结:三行代码出一张图——matplotlib+影刀的Python节点让图表自动化变得极简单。生成图表→插入Excel→发邮件报告,一条龙自动化。


作者:林焱

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询