
影刀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,axplt.subplots(figsize(10,6))barsax.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:,},hacenter,fontsize11)ax.set_title(各商品销售额对比,fontsize16,fontweightbold)ax.set_ylabel(销售额元)ax.grid(axisy,alpha0.3)plt.tight_layout()plt.savefig(rC:\RPA_data\chart_sales.png,dpi150,bbox_inchestight)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,axplt.subplots(figsize(10,6))ax.plot(dates,sales,markero,linewidth2,markersize8,color#4472C4)ax.fill_between(range(len(dates)),sales,alpha0.1,color#4472C4)fori,(d,v)inenumerate(zip(dates,sales)):ax.annotate(f¥{v:,},(i,v),textcoordsoffset points,xytext(0,12),hacenter,fontsize9)ax.set_title(近7天销售额趋势,fontsize16,fontweightbold)ax.grid(alpha0.3)plt.tight_layout()plt.savefig(rC:\RPA_data\chart_trend.png,dpi150,bbox_inchestight)plt.close()饼图占比分析importmatplotlib.pyplotasplt labels[广东省,浙江省,江苏省,其他]sizes[35,25,20,20]colors[#4472C4,#ED7D31,#A5A5A5,#FFC000]explode(0.05,0,0,0)# 突出第一块fig,axplt.subplots(figsize(8,8))wedges,texts,autotextsax.pie(sizes,explodeexplode,labelslabels,colorscolors,autopct%1.1f%%,startangle90,textprops{fontsize:12})ax.set_title(各地区销售额占比,fontsize16,fontweightbold)plt.tight_layout()plt.savefig(rC:\RPA_data\chart_pie.png,dpi150,bbox_inchestight)plt.close()把图表插入Excelfromopenpyxlimportload_workbookfromopenpyxl.drawing.imageimportImagefromopenpyxl.utilsimportget_column_letter# 假设前面已经生成了Excel和图表PNGwbload_workbook(rC:\RPA_data\report.xlsx)# 创建图表Sheetws_chartwb.create_sheet(趋势图)imgImage(rC:\RPA_data\chart_trend.png)img.width600img.height360ws_chart.add_image(img,A1)ws_chart2wb.create_sheet(占比图)img2Image(rC:\RPA_data\chart_pie.png)img2.width500img2.height500ws_chart2.add_image(img2,A1)wb.save(rC:\RPA_data\report_with_charts.xlsx)print(图表已插入Excel)一键生成综合报表TEMU店群矩阵自动化运营核价报活动defgenerate_full_report(data,output_path):一键生成Excel数据 图表fromopenpyxlimportWorkbookfromopenpyxl.drawing.imageimportImageimportmatplotlib.pyplotasplt wbWorkbook()# Sheet1: 数据ws_datawb.active ws_data.title原始数据headerslist(data[0].keys())ifdataelse[]forcol,hinenumerate(headers,1):ws_data.cell(row1,columncol,valueh)fori,rowinenumerate(data,2):forj,keyinenumerate(headers,1):ws_data.cell(rowi,columnj,valuerow.get(key,))# 生成饼图并插入chart_pathrC:\RPA_data\temp_chart.png# ... 生成图表代码 ...plt.savefig(chart_path)plt.close()ws_chartwb.create_sheet(图表)imgImage(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→发邮件报告一条龙自动化。作者林焱