影刀RPA 采集结果自动发送邮件报告:数据采集推送一条龙
影刀RPA 采集结果自动发送邮件报告数据采集推送一条龙数据采集完了还得手动打开Excel、写邮件、粘贴数据、发出去。如果每天都要做一遍这中间的时间全浪费了。这篇文章把采集→生成报告→发送邮件的整条链路串起来做成一个全自动流程。整体流程采集数据 → 数据清洗 → 生成Excel报告 → 发邮件正文附件店群矩阵自动化突破运营极限每个环节前面都单独讲过这里把它们串成一个完整流程。完整流程实现主流程 daily_report.flow 阶段1采集 【运行子流程】→ collect_data.flow 出参raw_data列表、collect_time字符串 阶段2数据清洗 Python节点 → 清洗raw_data → clean_data - 去空行 - 格式标准化 - 异常值标记 阶段3生成Excel报告 Python节点 → 生成带样式的Excel 输入clean_data 输出report_path文件路径 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/a63d1a6305b844669b1c033354844ab4.png#pic_center) 阶段4生成邮件内容 Python节点 → 生成HTML邮件正文 输入clean_data 的统计信息 输出email_subject, email_body 阶段5发送邮件 【发送邮件】 收件人bosscompany.com 主题email_subject 正文email_bodyHTML格式 附件report_path 阶段6记录日志 【日志输出】→ 本次执行汇总Python节点生成统计摘要fromdatetimeimportdatetimedefgenerate_summary(clean_data):生成数据统计摘要totallen(clean_data)# 按状态统计status_count{}total_amount0max_amount0max_amount_itemforiteminclean_data:statusitem.get(status,未知)status_count[status]status_count.get(status,0)1amountfloat(item.get(amount,0))total_amountamountifamountmax_amount:max_amountamount max_amount_itemitem.get(name,)summary{total:total,by_status:status_count,total_amount:total_amount,avg_amount:total_amount/totaliftotal0else0,max_amount:max_amount,max_item:max_amount_item,report_time:datetime.now().strftime(%Y-%m-%d %H:%M:%S),}returnsummary# 生成HTML邮件正文defbuild_email_html(summary):htmlf h2每日数据采集报告/h2 p采集时间{summary[report_time]}/p h3数据概览/h3 table border1 cellpadding8 styleborder-collapse:collapse tr stylebackground:#4472C4; color:white th指标/thth数值/th /tr trtd总数据量/tdtdb{summary[total]}/b 条/td/tr trtd总金额/tdtdb stylecolor:red¥{summary[total_amount]:,.2f}/b/td/tr trtd平均金额/tdtd¥{summary[avg_amount]:,.2f}/td/tr trtd最高金额/tdtd¥{summary[max_amount]:,.2f}{summary[max_item]}/td/tr /table h3状态分布/h3 table border1 cellpadding8 styleborder-collapse:collapse tr stylebackground:#4472C4; color:white th状态/thth数量/th /tr forstatus,countinsummary[by_status].items():htmlftrtd{status}/tdtd{count}/td/trhtml /table br p详细数据见附件。/p p stylecolor:#999此邮件由RPA自动生成/p returnhtmlPython节点生成Excel报告fromopenpyxlimportWorkbookfromopenpyxl.stylesimportFont,PatternFill,Alignment,Border,Sidefromdatetimeimportdatetimedefcreate_report(clean_data,output_dir):wbWorkbook()wswb.active ws.title采集数据# 表头headers[序号,名称,金额,状态,采集时间]header_fillPatternFill(start_color2F5496,end_color2F5496,fill_typesolid)header_fontFont(colorFFFFFF,boldTrue,size11)forcol,hinenumerate(headers,1):cellws.cell(row1,columncol,valueh)cell.fillheader_fill cell.fontheader_font cell.alignmentAlignment(horizontalcenter)# 数据行fori,iteminenumerate(clean_data,1):ws.cell(rowi1,column1,valuei)ws.cell(rowi1,column2,valueitem.get(name,))ws.cell(rowi1,column3,valuefloat(item.get(amount,0)))ws.cell(rowi1,column4,valueitem.get(status,))ws.cell(rowi1,column5,valueitem.get(time,))# 金额格式forrowinrange(2,len(clean_data)2):ws.cell(rowrow,column3).number_format¥#,##0.00# 列宽ws.column_dimensions[A].width8ws.column_dimensions[B].width25ws.column_dimensions[C].width15ws.column_dimensions[D].width12ws.column_dimensions[E].width20# 保存filenamef采集报告_{datetime.now().strftime(%Y%m%d_%H%M%S)}.xlsxfilepathf{output_dir}\\{filename}importos os.makedirs(output_dir,exist_okTrue)wb.save(filepath)returnfilepathtemu店群自动化报活动案例邮件发送的时机判断不是每次采集都发邮件。判断逻辑# 在影刀中IF clean_data 数量0:# 有数据生成并发送报告生成报告 → 发送邮件 ELSE:【日志输出】本次采集无数据不发送报告END IF# 只在有异常数据时发邮件IF 异常数据数量0:发送告警邮件 END IF总结采集→清洗→报告→邮件的全自动链路把人工从打开Excel→复制数据→写邮件→粘贴→发送的重复劳动中解放出来。每天早上打开邮箱报告已经躺在收件箱里了。作者林焱

相关新闻

技术团队激励体系设计:从代码质量到架构健康的工程实践

技术团队激励体系设计:从代码质量到架构健康的工程实践

最近在技术社区看到一个很有意思的观点:"奖励黑客本质是激励问题"。初看这个标题,很多人可能会联想到网络安全领域的"白帽黑客",但这里的"奖励黑客"其实指向一个更深层的工程管理问题——在技术团队中&#xf…

2026/10/18 12:15:25 阅读更多 →
MetaClaw:AI智能体持续进化的创新架构与实践

MetaClaw:AI智能体持续进化的创新架构与实践

1. MetaClaw:让AI智能体在开放环境中持续进化的新范式作为一名长期跟踪AI技术演进的从业者,我见证了从静态模型到动态智能体的转变过程。MetaClaw的出现标志着大型语言模型(LLM)智能体发展的重要里程碑——它解决了传统智能体部署…

2026/10/18 4:43:39 阅读更多 →
PHP+SQLite3

PHP+SQLite3

运行服务器php -S localhost:8000 -t E:\HY\phpClass "SQLite3" not foundWindows确定 php_sqlite3.dll 在 ext 目录 php.iniextensionphp_sqlite3.dllLinuxsudo apt install php-sqlite3PHP Startup: Unable to load dynamic library sqlite3php.iniextension_dir …

2026/10/15 23:23:58 阅读更多 →

最新新闻

ELMAN神经网络在天然气日负荷预测中的实战应用与优势解析

ELMAN神经网络在天然气日负荷预测中的实战应用与优势解析

简介:本资源是一份面向能源预测领域初学者与MATLAB实践者的ELMAN神经网络时间序列建模实战包,聚焦天然气消费量的短期趋势预测问题,适用于能源管理、智能调度及机器学习入门教学场景。压缩包共6个文件(290KB)&#xff…

2026/10/18 12:15:19 阅读更多 →
Linux下C库函数文件操作:从缓冲区到性能优化的实战指南

Linux下C库函数文件操作:从缓冲区到性能优化的实战指南

最近处理一批日志文件时,我遇到一个很有意思的现象:同样的数据导入需求,直接用read()逐字节读慢得让人着急,换成fread()之后几乎是瞬间完成。问题不出在代码逻辑,而出在缓冲区。这篇文章我想把Linux下C库函数操作文件这…

2026/10/18 12:15:19 阅读更多 →
企业估值中AI文献综述平台评估:能力拆解、评分表与落地避坑

企业估值中AI文献综述平台评估:能力拆解、评分表与落地避坑

做企业估值的都清楚一个绕不开的矛盾:你想真正判断一家公司的技术壁垒,就得去啃论文、读临床数据、翻专利,但这些材料越积越多,光靠人工读完再整理,速度根本跟不上决策节奏。我最近在为一个生物技术公司做估值&#xf…

2026/10/18 12:15:19 阅读更多 →
产品测试与试验汇总实操指南:从矩阵设计到缺陷闭环

产品测试与试验汇总实操指南:从矩阵设计到缺陷闭环

做了这么多年产品测试和试验,我越来越觉得,真正考验功夫的不是某一项试验能不能跑通,而是把几十项甚至上百项测试和试验汇总成一份能支撑决策的结论。很多人以为汇总就是拉个Excel表、贴几张报告封面,但实际做起来,从测…

2026/10/18 12:15:19 阅读更多 →
JMeter 5.6.2 运行必备:JDK 17 环境配置与中文插件实战指南

JMeter 5.6.2 运行必备:JDK 17 环境配置与中文插件实战指南

简介:本资源为Apache JMeter 5.6.2官方完整版压力测试工具安装包,面向软件测试工程师、性能测试初学者及Java技术栈开发人员,用于Web应用、数据库、FTP及各类协议服务的高并发负载与稳定性验证。压缩包为RAR格式,大小88.26MB&…

2026/10/18 12:15:19 阅读更多 →
Agent工具调用三年演进:从function call到MCP,三种方案的设计取舍与TaoToken实践

Agent工具调用三年演进:从function call到MCP,三种方案的设计取舍与TaoToken实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:14:19 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →