【技巧】如何自动化更改电子表格中的需要修改的内容

from openpyxl import load_workbook

wb = load_workbook('123.xlsx')

ws = wb.active

def find_cells_with_text(ws, text):

found_cells = \[\]

for row in ws.iter_rows():

for cell in row:

if text in str(cell.value):

found_cells.append(cell)

return found_cells

cells_to_change = find_cells_with_text(ws, '3032021')

print(cells_to_change)

def replace_text_in_cells(cells, old, new):

for cell in cells:

cell.value = str(cell.value).replace(old, new)

replace_text_in_cells(cells_to_change, '3032021', '3032024')

wb.save('1233.xlsx')

以下是对这段代码的分析:

一、功能概述

这段 Python 代码的主要功能是在一个 Excel 文件('123.xlsx')中查找包含特定文本('3032021')的单元格,然后将这些单元格中的特定文本替换为新的文本('3032024'),最后将修改后的工作簿保存为新的文件('1233.xlsx')。

二、代码解析

  1. 导入模块和加载工作簿

    • from openpyxl import load_workbook:导入了openpyxl库中的load_workbook函数,用于加载 Excel 文件。
    • wb = load_workbook('123.xlsx'):加载名为 '123.xlsx' 的工作簿。
    • ws = wb.active:获取活动工作表,即默认打开的工作表。
  2. 定义查找函数

    • def find_cells_with_text(ws, text)::定义了一个函数,用于在给定的工作表中查找包含特定文本的单元格。
      • found_cells = []:创建一个空列表,用于存储找到的单元格。
      • for row in ws.iter_rows():for cell in row::遍历工作表中的每一行和每一个单元格。
      • if text in str(cell.value)::检查单元格的值是否包含特定文本,如果包含则将该单元格添加到found_cells列表中。
      • return found_cells:返回找到的单元格列表。
  3. 查找包含特定文本的单元格

    • cells_to_change = find_cells_with_text(ws, '3032021'):调用find_cells_with_text函数,在工作表中查找包含文本 '3032021' 的单元格,并将结果存储在cells_to_change变量中。
    • print(cells_to_change):打印找到的单元格,用于调试或查看结果。
  4. 定义替换函数

    • def replace_text_in_cells(cells, old, new)::定义了一个函数,用于在给定的单元格列表中,将特定的旧文本替换为新文本。
      • for cell in cells::遍历单元格列表。
      • cell.value = str(cell.value).replace(old, new):将单元格的值转换为字符串,并使用replace方法将旧文本替换为新文本。
  5. 替换文本并保存工作簿

    • replace_text_in_cells(cells_to_change, '3032021', '3032024'):调用replace_text_in_cells函数,将cells_to_change列表中的 '3032021' 替换为 '3032024'。
    • wb.save('1233.xlsx'):保存修改后的工作簿为 '1233.xlsx'。
相关推荐
维核科技19 分钟前
算力机房高负荷期稳供指南:GPU前置维保与应急处置方案
运维·服务器维修·gpu维修·算力卡维修
志栋智能22 分钟前
超自动化安全:提升安全服务满意度的隐形引擎
大数据·安全·自动化
worilb34 分钟前
Spring Cloud 学习与实践(16):Elasticsearch 商品搜索、中文分词与索引一致性
运维·jenkins
摇曳的精灵1 小时前
dify的docker部署
运维·docker·容器·dify
weixin_462901971 小时前
TCP+WebSocket双向转发服务器 完整部署运维手册
运维·websocket·tcp/ip
AAA@峥2 小时前
Ceph RBD 块存储全解析:原理与实操汇总
运维·分布式·ceph
Urbano2 小时前
打破缝制品类偏见:工序模板机跨界生产家居收纳布艺,实现服装与家居制品通用智造
人工智能·自动化
2301_777998342 小时前
Linux线程控制——从线程创建到线程分离(第三部分:线程等待 pthread_join)
linux·运维·服务器·c语言·c++
学术小白人2 小时前
医学交叉会议!EI检索!2026年人工智能与健康信息学国际学术会议(AIHI 2026)
大数据·人工智能·搜索引擎·自动化·医学
维核科技2 小时前
AI Agent从“玩具“进化成“劳动力“:2026年智能体商业化元年
运维·人工智能·服务器维修·gpu维修