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

如何在Python中实现Excel ISNUMBER(SEARCH)关键词模糊分类功能

Python 实现关键词分类方案

完全复现Excel嵌套IF(ISNUMBER(SEARCH()))的逻辑,按设定的规则顺序优先匹配,命中即返回对应分类,无匹配返回FALSE,最终仅输出「关键词+分类」两列结果,无冗余列,规则数量无上限。

依赖库仅需pandas,安装命令:
pip install pandas

完整实现代码

import pandas as pd

# 1. 定义匹配规则,顺序和Excel的IF嵌套顺序保持一致,先写的规则优先级更高
# 格式:(需要匹配的子串, 对应分类)
match_rules = [
    ("bag", "Bags"),
    ("rucksack", "Bags"),
    ("handbag", "Bags"),
    ("purse", "Personal Bags"),
    ("wallet", "Personal Bags")
]

# 2. 定义匹配函数,和Excel SEARCH逻辑一致,默认不区分大小写
def get_category(keyword, rules):
    keyword_lower = str(keyword).lower()
    for substr, category in rules:
        if substr.lower() in keyword_lower:
            return category
    return False

# 3. 读取数据,可替换为pd.read_excel("你的文件路径.xlsx")读取本地Excel
# 以下为测试用示例数据
df = pd.DataFrame({
    "Keyword": ["handbag", "rucksack", "drawstring bags", "tote bag", "cotton tote", "purse", "wallet"]
})

# 4. 生成分类列
df["Category"] = df["Keyword"].apply(lambda x: get_category(x, match_rules))

# 5. 输出结果,可替换为df.to_excel("分类结果.xlsx", index=False)保存到本地
print(df)

输出效果

运行代码后输出结果和预期完全一致:

KeywordCategory
handbagBags
rucksackBags
drawstring bagsBags
tote bagBags
cotton toteFALSE
pursePersonal Bags
walletPersonal Bags

自定义说明

  • 如需新增分类规则,直接在match_rules列表里按优先级顺序添加即可,没有数量限制
  • 如需区分大小写匹配,删掉get_category函数里的.lower()处理即可
  • 读取本地文件、保存结果的路径替换为自身实际路径即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:54:07