如何使用Python在Excel中搜索指定URL并导出对应匹配行到新文件
问题修复方案
匹配失败原因
你当前代码使用==做全等匹配,只有单元格内容和搜索关键词完全一致时才会命中,自然无法匹配到包含关键词片段的完整URL,需要改用in关键字做包含判断。
前置依赖安装
执行以下命令安装所需库:
pip install openpyxl
可直接运行的修改后代码
from openpyxl import load_workbook from openpyxl import Workbook # 配置项,可根据需求修改 source_excel_path = 'Appended_Reports.xlsx' result_excel_path = '匹配结果.xlsx' # 要搜索的关键词可直接在列表中增减 search_keywords = ["italaw", "worldbank"] # 加载源Excel文件 source_wb = load_workbook(source_excel_path, read_only=True) source_ws = source_wb.active # 新建存储结果的Excel文件 result_wb = Workbook() result_ws = result_wb.active # 遍历源Excel所有行 for row_data in source_ws.iter_rows(values_only=True): # 取第一列内容转为字符串,避免数字/其他格式报错 first_col = str(row_data[0]) # 判断第一列是否包含任意一个目标关键词 if any(keyword in first_col for keyword in search_keywords): # 命中后将整行数据写入结果表 result_ws.append(row_data) # 保存结果文件 result_wb.save(result_excel_path) print(f"匹配完成,结果已保存至{result_excel_path}")
代码说明
- 兼容xlsx格式的读写,避免了旧版xlrd无法读取高版本Excel的兼容性问题
- 一次遍历即可完成多关键词匹配,执行效率更高
- 搜索关键词可直接在
search_keywords列表中增减,无需重复写判断逻辑 - 命中的行会完整写入新Excel,符合需求
内容的提问来源于stack exchange,提问作者johnbernard
相关产品推荐
相关产品推荐

