Python实现一键批量查找与替换Excel数据

 更新时间:2026年07月03日 08:22:53   作者:咕白m625  
在日常数据处理工作中,Excel的查找与替换是最频繁的操作之一,本文将介绍如何使用 Python 和免费库 Free Spire.XLS for Python,以编程方式实现 Excel 数据的批量查找与替换,无需安装Microsoft Office,需要的可以参考下

在日常数据处理工作中,Excel的查找与替换是最频繁的操作之一。当数据量较大时,手动查找替换不仅耗时,还容易出错。本文将介绍如何使用 Python 和免费库 Free Spire.XLS for Python,以编程方式实现 Excel 数据的批量查找与替换,无需安装Microsoft Office。

环境准备

通过pip命令即可完成安装:

pip install Spire.XLS.Free

核心对象模型

库的核心操作围绕两个对象展开:

  • Workbook:代表整个 Excel 工作簿,负责文件的加载与保存
  • Worksheet:代表单个工作表,提供单元格访问与查找替换能力

导入方式:

from spire.xls import *
from spire.xls.common import *

基本用法:在整个工作表中查找和替换

最基础的操作是在整个工作表中查找特定文本并将其替换为新内容。核心方法是Worksheet.FindAllString(),它返回所有包含指定字符串的单元格。

以下示例演示了如何将工作表中所有的“总数”替换为“合计金额”,并高亮显示被修改的单元格:

from spire.xls import *
from spire.xls.common import *

# 创建Workbook对象
workbook = Workbook()

# 加载Excel文件
workbook.LoadFromFile("数据.xlsx")

# 获取第一个工作表
worksheet = workbook.Worksheets[0]

# 查找工作表中包含"总数"的所有单元格
# 参数:要查找的字符串、是否区分大小写、是否完全匹配
ranges = worksheet.FindAllString("总数", False, False)

# 遍历找到的单元格并替换
for range in ranges:
    range.Text = "合计金额"
    # 设置背景色以突出显示被修改的单元格
    range.Style.Color = Color.get_Yellow()

# 保存结果文件
workbook.SaveToFile("替换结果.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

FindAllString()方法的三个参数分别表示:待查找的字符串、是否区分大小写(True 为区分)、是否要求完全匹配(True 为完全匹配)。

在指定单元格区域中查找和替换

当工作表数据量大时,限定搜索范围可以提高效率并避免误改。通过Worksheet.Range[]获取特定区域后,使用CellRange.FindAllString()方法在该区域内查找:

from spire.xls import *
from spire.xls.common import *

workbook = Workbook()
workbook.LoadFromFile("数据.xlsx")

sheet = workbook.Worksheets[0]

# 获取指定的单元格区域(A6到C13)
range = sheet.Range["A6:C13"]

# 在该区域内查找包含"总数"的单元格
cells = range.FindAllString("总数", False, False)

for cell in cells:
    cell.Text = "合计金额"
    cell.Style.Color = Color.get_Yellow()

workbook.SaveToFile("区域替换结果.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

高级技巧:查找后执行条件替换

在实际场景中,替换逻辑可能不是简单的文本替换,而是需要根据条件进行判断。以下示例展示了如何在查找后根据单元格原有内容执行不同的替换逻辑:

from spire.xls import *
from spire.xls.common import *

workbook = Workbook()
workbook.LoadFromFile("销售数据.xlsx")

worksheet = workbook.Worksheets[0]

# 查找所有包含数字的单元格(假设需要将销售额单位从"元"改为"万元")
ranges = worksheet.FindAllString("元", False, False)

for range in ranges:
    original = range.Text
    # 提取数字部分并转换为万元
    try:
        # 假设原始格式为"1234元"
        num = float(original.replace("元", ""))
        range.Text = f"{num / 10000:.2f}万元"
    except:
        # 如果格式不匹配,保持原样
        pass

workbook.SaveToFile("条件替换结果.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

结语

通过 Python 编程实现 Excel 数据的查找与替换,可以将重复性的人工操作转化为自动化流程,尤其适用于定期更新的报表、大规模数据清洗等场景。上述示例覆盖了从整表替换到精确区域替换的多种需求,开发者可以根据实际业务场景灵活组合使用。

以上就是Python实现一键批量查找与替换Excel数据的详细内容,更多关于Python查找与替换Excel数据的资料请关注脚本之家其它相关文章!

相关文章

  • 改变 Python 中线程执行顺序的方法

    改变 Python 中线程执行顺序的方法

    这篇文章主要介绍了改变 Python 中线程的执行顺序的方法,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-09-09
  • Python使用Python-docx库实现Word文档自动化

    Python使用Python-docx库实现Word文档自动化

    在日常办公中,Word文档处理是高频需求,无论是生成报告、合同,还是批量修改文档内容,手动操作效率低下且易出错,Python-docx作为Python生态中处理.docx文件的王牌库,本文将带您全面掌握该库的核心功能,并附实战代码示例,需要的朋友可以参考下
    2025-12-12
  • python tornado微信开发入门代码

    python tornado微信开发入门代码

    这篇文章主要为大家详细介绍了python tornado微信开发入门代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • python解包概念及实例

    python解包概念及实例

    在本篇文章里小编给大家分享的是一篇关于python解包知识点总结,对此有兴趣的朋友们可以学习参考下。
    2021-02-02
  • 基于python实现鼠标实时坐标监测

    基于python实现鼠标实时坐标监测

    这篇文章主要给大家介绍了如何基于python实现鼠标实时坐标监测,文章通过代码示例介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-11-11
  • Python实现的购物车功能示例

    Python实现的购物车功能示例

    这篇文章主要介绍了Python实现的购物车功能,涉及Python通过交互与数值运算实现购物车功能的相关操作技巧,需要的朋友可以参考下
    2018-02-02
  • Python进阶之列表推导式的10个核心技巧

    Python进阶之列表推导式的10个核心技巧

    在Python编程中,列表推导式(List Comprehension)是提升代码效率的"瑞士 军刀",本文将通过真实场景案例,揭示列表推导式的进阶用法,希望对大家有所帮助
    2025-08-08
  • 教你使用Python提取视频中的美女图片

    教你使用Python提取视频中的美女图片

    这篇文章主要介绍了教你使用Python提取视频中的美女图片,使用 Python 写一个逐帧无损保存视频画面的小脚本,大概分为三个步骤,详细过程跟随小编一起看看吧
    2022-04-04
  • python使用Matplotlib绘制多种常见图形

    python使用Matplotlib绘制多种常见图形

    这篇文章主要介绍了python使用Matplotlib绘制多种常见图形,文章围绕主题展开详细的用Matplotlib绘制内容,需要的小伙伴可以参考一下
    2022-05-05
  • Python调用shell cmd方法代码示例解析

    Python调用shell cmd方法代码示例解析

    这篇文章主要介绍了Python调用shell cmd方法代码示例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06

最新评论