You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写Python程序在指定Excel表中查找用户输入字符串并输出到新工作表

功能实现说明

完全可以实现你描述的从Excel中匹配提取指定字符串的需求,基于你已编写的openpyxl初始代码,补全交互输入、全表检索、结果写入逻辑即可,完整可运行代码如下:

from openpyxl import load_workbook

# 加载目标Excel文件,路径前加r避免Windows反斜杠转义报错
wb = load_workbook(r"C:\op.xlsx")
ws = wb.active

# 接收用户输入的待查找字符串
search_target = input("请输入需要查找的字符串:").strip()
match_list = []

# 遍历工作表所有单元格做匹配校验
for row in ws.iter_rows(values_only=True):
    for cell_val in row:
        # 跳过空单元格减少无效判断
        if cell_val is None:
            continue
        # 统一转字符串做包含匹配,兼容数字、日期等非文本格式单元格
        if search_target in str(cell_val):
            match_list.append(cell_val)

# 创建专属工作表存储匹配结果
if "匹配结果" in wb.sheetnames:
    # 已存在同名结果表则先删除,避免重复创建报错
    del wb["匹配结果"]
result_sheet = wb.create_sheet("匹配结果")
# 写入表头
result_sheet.append(["序号", "匹配到的内容"])
# 逐行写入匹配结果
for idx, content in enumerate(match_list, start=1):
    result_sheet.append([idx, content])

# 保存修改后的Excel文件
wb.save(r"C:\op.xlsx")
print(f"检索完成,共匹配到{len(match_list)}条符合要求的内容,结果已存入「匹配结果」工作表")

使用说明

  • 代码默认采用包含匹配规则:只要单元格内容中包含你输入的字符串就会被收录,如果你需要完全相等的精确匹配,把判断条件替换为if str(cell_val) == search_target:即可
  • 代码自动兼容数字、日期、文本等不同格式的单元格内容,不需要提前做格式转换
  • 每次运行会自动覆盖之前生成的「匹配结果」工作表,不会出现重复表名的报错
  • 如果你需要把结果存为单独的新Excel文件,把保存路径改成其他文件名即可,比如wb.save(r"C:\匹配结果.xlsx")

内容的提问来源于stack exchange,提问作者Shrahbeel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 15:57:52