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

如何用Python实现Excel两列单词匹配并删除匹配内容提取剩余文本

Python 实现Excel两列匹配删除的方案

依赖安装

执行以下命令安装所需库:
pip install pandas openpyxl

实现代码(子字符串匹配)

默认匹配任意出现的子字符串,比如关键词是"科技",会把Names里的"科技有限公司"中的"科技"直接删除:

import pandas as pd

# 读取Excel文件,替换为你本地的文件路径
df = pd.read_excel("你的输入文件.xlsx")

# 提取Words列所有非空关键词
match_words = df["Words"].dropna().astype(str).tolist()

def remove_matched_content(raw_name):
    if pd.isna(raw_name):
        return ""
    result = str(raw_name)
    for word in match_words:
        result = result.replace(word, "")
    # 清理多余空格
    return " ".join(result.split())

# 生成处理后的新列
df["处理结果"] = df["Names"].apply(remove_matched_content)

# 导出结果到新文件,避免覆盖原文件
df.to_excel("处理完成.xlsx", index=False)

可选:全词匹配版本

如果需要仅匹配独立完整的单词/词组,不会误删包含关键词的长词,可以用正则实现全词匹配:

import pandas as pd
import re

df = pd.read_excel("你的输入文件.xlsx")
match_words = df["Words"].dropna().astype(str).tolist()

def remove_matched_content(raw_name):
    if pd.isna(raw_name):
        return ""
    result = str(raw_name)
    for word in match_words:
        # 转义关键词中的特殊正则字符
        escaped_word = re.escape(word)
        # \b 匹配单词边界
        result = re.sub(rf"\b{escaped_word}\b", "", result)
    return " ".join(result.split())

df["处理结果"] = df["Names"].apply(remove_matched_content)
df.to_excel("处理完成.xlsx", index=False)

注意:如果你的Excel中两列的列名不是Names和Words,请自行替换代码中的列名和文件路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 21:45:03