影刀RPA 用Python在影刀中做Excel高级处理:pandas vs openpyxl的选择

发布时间:2026/11/4 8:55:43

影刀RPA 用Python在影刀中做Excel高级处理:pandas vs openpyxl的选择 影刀RPA 用Python在影刀中做Excel高级处理pandas vs openpyxl的选择影刀内置的Excel动作能覆盖70%的场景。剩下的30%大数据量、复杂筛选、多表关联、透视汇总得靠Python节点。这篇不教Python语法只讲一个核心问题什么场景用pandas什么场景用openpyxl。选错了库十万行数据能让你等到天荒地老。pandas vs openpyxl 一句话区分pandas处理数据内容和结构的像SQL操作数据表。读取、筛选、分组、聚合、合并——它擅长。openpyxl操作Excel文件和格式的像Excel应用程序。样式、图表、合并单元格、行高列宽——它擅长。你要算月销售额总和 → pandas 你要给销售额那列标红 → openpyxl 你要把两个表按客户名关联 → pandas 你要设置表头加粗白字蓝底 → openpyxl ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/9fcb46093f33481295e8e55b6745d0ae.png#pic_center) 你要从100万行里筛选出金额10000的 → pandas 你要给符合条件的行加条件格式 → openpyxl场景一数据筛选与计算 → pandas拼多多店群自动化上架方案importpandasaspd# 读取Exceldfpd.read_excel(rC:\data\orders.xlsx,dtype{订单号:str})# pandas的筛选操作 # 单条件筛选high_valuedf[df[金额]10000]# 多条件筛选ANDresultdf[(df[金额]1000)(df[状态]已完成)]# 多条件筛选ORresultdf[(df[地区]北京)|(df[地区]上海)]# 按列值筛选INprovinces[广东,浙江,江苏]resultdf[df[省份].isin(provinces)]# 模糊筛选包含关键字resultdf[df[客户名].str.contains(科技,naFalse)]# pandas的聚合计算 # 按客户分组汇总金额summarydf.groupby(客户名)[金额].agg([sum,count,mean])summary.columns[总金额,订单数,平均金额]# 按日期和地区分组pivotdf.pivot_table(values金额,index日期,columns地区,aggfuncsum,fill_value0)# 排序df_sorteddf.sort_values(金额,ascendingFalse)df_top10df_sorted.head(10)# 保存结果summary.to_excel(rC:\data\summary.xlsx)场景二格式与样式操作 → openpyxlfromopenpyxlimportload_workbookfromopenpyxl.stylesimportFont,PatternFill,Alignment wbload_workbook(rC:\data\report.xlsx)wswb.active# openpyxl的格式操作 # 遍历单元格设置样式forrowinws.iter_rows(min_row2):amountrow[4].value# E列金额ifamountandamount10000:row[4].fontFont(colorFF0000,boldTrue)# 合并单元格ws.merge_cells(A10:C10)ws[A10]汇总ws[A10].alignmentAlignment(horizontalcenter)# 冻结窗格ws.freeze_panesA2# 设置打印区域ws.print_areaA1:F50wb.save(rC:\data\report_styled.xlsx)场景三数据量大 → pandas唯一选择当数据超过几万行时openpyxl会变得很慢——因为它要逐行逐列操作Excel的XML结构。importpandasaspd# 读取大文件10万行以上dfpd.read_excel(rC:\data\huge_file.xlsx)# 筛选filtereddf[df[金额]1000]# 指定列类型加速读取dfpd.read_excel(huge_file.xlsx,dtype{订单号:str,金额:float},usecols[订单号,客户名,金额]# 只读需要的列加快速度)filtered.to_excel(rC:\data\filtered.xlsx,indexFalse)pandas在大数据下的性能碾压openpyxl10万行数据pandas筛选保存大概2-3秒openpyxl逐行遍历可能需要几十秒到一分钟。组合使用获取最佳效果实际场景中两个库组合使用是最佳实践importpandasaspdfromopenpyxlimportload_workbookfromopenpyxl.stylesimportFont,PatternFill# 步骤1pandas处理数据内容和结构 dfpd.read_excel(rC:\data\raw_data.xlsx)# 数据清洗、筛选、计算dfdf[df[金额].notna()]# 去掉金额为空的行df[利润率]df[利润]/df[金额]# 按客户分组汇总summarydf.groupby(客户名).agg({金额:sum,利润:sum,订单号:count}).reset_index()summary.columns[客户名,总金额,总利润,订单数]summary[利润率]summary[总利润]/summary[总金额]# 写入ExceloutputrC:\data\final_report.xlsxsummary.to_excel(output,indexFalse,sheet_name汇总)# 步骤2openpyxl美化格式 wbload_workbook(output)wswb.active# 表头样式forcellinws[1]:cell.fontFont(boldTrue,colorFFFFFF)cell.fillPatternFill(start_color2F5496,end_color2F5496,fill_typesolid)# 数据列格式forrowinws.iter_rows(min_row2):row[1].number_format¥#,##0.00# 总金额row[2].number_format¥#,##0.00# 总利润row[4].number_format0.00%# 利润率wb.save(output)流程总结pandas做内容openpyxl做好看。常见操作对应的库选择操作推荐库原因读取大文件5万行pandas速度快筛选、排序、分组pandas语法简洁性能好两个表关联类似VLOOKUPpandas mergepd.merge跟SQL join一样直观设置字体颜色、背景色openpyxlpandas做不到合并单元格openpyxlpandas做不到TEMU店群如何管理运营| 添加图表 | openpyxl | 支持但不完美复杂图表用xlsxwriter || 设置数据验证下拉选项 | openpyxl | DataValidation || 修改已有文件的样式 | openpyxl | pandas只能覆盖写入 || 读取特定Sheet/区域 | 两者都可 | 看后续操作需求 |坑pandas写入会覆盖已有的格式这是一个经常踩的坑。你有一个人工做好的带格式的Excel模板想用pandas写入数据保留格式——不行。pandas的to_excel()是完全覆盖Sheet。之前的所有格式、图表、条件格式全部丢失。解决方案用openpyxl加载模板然后逐行写入数据。fromopenpyxlimportload_workbook# 加载带格式的模板wbload_workbook(rC:\data\template.xlsx)wswb.active# 从第2行开始写入数据第1行是表头模板fori,row_datainenumerate(data,start2):forj,valueinenumerate(row_data,start1):ws.cell(rowi,columnj,valuevalue)wb.save(rC:\data\filled.xlsx)# 模板的格式、图表、条件格式都保留一句话数据计算用pandas格式美化用openpyxl。超过5万行数据强制用pandas需要保留模板格式用openpyxl增量写入。作者林焱
延伸阅读

更多相关文章

2026/10/27 16:31:52

C++编程实战指南:从环境搭建到性能优化,掌握现代C++核心技能

1. 从“Hello World”到系统级编程:为什么C依然无可替代?如果你在搜索引擎里敲下“C教程”,大概率会看到两种极端:一种是“三天速成C”的营销号,另一种是动辄上千页、充满晦涩术语的“天书”。这恰恰反映了C的现状——…

2026/10/28 1:54:07

C++多线程编程中锁粒度选择:从粗到细的性能优化策略与实践

1. 项目概述:锁粒度选择的十字路口 在C多线程编程的世界里,锁是协调并发访问、保护共享数据的基石。但锁用不好,性能瓶颈就来了。很多开发者,尤其是从单线程思维过渡过来的,最容易犯的错误就是“一把大锁走天下”——用…

2026/11/4 8:54:17

PostgreSQL Schema管理与优化实战指南

1. PostgreSQL Schema基础概念解析 在PostgreSQL数据库体系中,schema(模式)是一个至关重要的逻辑容器概念。简单来说,它就像是数据库里的文件夹系统,允许我们将表、视图、函数等数据库对象进行分组管理。每个PostgreSQ…

2026/11/4 8:54:17

Agent静默截断排查:源端50条数据为何模型只看到20条

做 Agent 的同学应该都有过这种经历:你明明在源端准备好了 50 条候选数据,模型回答里却只体现出了 20 条的信息。它不报错、不警告、不告诉你少了一半,就静悄悄地用剩下那部分内容给你交差。我第一次遇到这个问题是在调一个检索增强型 Agent …

2026/11/4 8:54:17

LEF/DEF 5.8 格式规范详解:物理设计中避坑与DRC通关的核心依据

简介:本资源是Cadence官方发布的《LEF/DEF 5.8 语言参考》PDF手册,面向集成电路物理设计工程师、EDA工具使用者及VLSI课程学习者,系统解决LEF/DEF格式在工艺建模、单元库定义、布局布线描述与跨工具数据交换中的核心语法与规范理解问题。文件…

2026/11/4 8:54:17

PostgreSQL Schema管理与最佳实践指南

1. PostgreSQL Schema基础概念解析 在PostgreSQL数据库体系中,schema是一个非常重要的逻辑容器概念。简单来说,schema就像是数据库里的文件夹,它可以帮助我们更好地组织和管理数据库对象。每个schema可以包含表、视图、索引、序列、数据类型、…

2026/11/4 8:54:17

用Rerank做文本分类?16组实验全记录与踩坑复盘

1. 先说说我为什么动了这个念头前两天接了个需求:一批业务场景文本,要判定它们是否属于某个风险类型。数据量不死多,几千条,但要求精度高,而且语言混杂,不是那种标准化的模板文本。最要紧的是数据不能出内网…

2026/11/4 8:49:16

Montserrat字体选型与Web落地:字重、可变字体与性能优化

1. Montserrat 到底是什么,凭什么被用烂了如果你最近在接手品牌官网、SaaS 后台或者电商详情页,翻开源码或者设计稿,十有八九会撞见 Montserrat 这个名字。它几乎成了“现代几何无衬线”这个类别的默认答案:免费商用、九档字重、还…

2026/11/3 7:47:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/3 14:24:53

SSM电子书店源码全解析:结构、原理、部署与排错实战

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

2026/11/4 0:03:20

AI辅助技术栈评估:提升研发决策效率60%

1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年…

2026/11/4 0:03:20

从生成Token到直接决策:Jev如何重塑AI Agent工程实践

1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你…

2026/11/4 0:03:20

32G统一内存跑大模型:内存账、TPS实测与端云分流

想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统…

2026/11/3 7:47:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/3 14:24:53

SSM电子书店源码全解析:结构、原理、部署与排错实战

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

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑