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

如何用pandas实现Excel字符串模糊匹配,忽略空格与大小写差异

重写后的实现代码
def find_string_row(toFind, dframe):
    # 先统一预处理目标字符串,仅需处理一次提升性能
    target = toFind.replace(" ", "").lower()
    max_row = len(dframe)
    index = 0
    while index < max_row:
        # 遍历当前行所有单元格,逐个预处理后匹配
        for cell_val in dframe.iloc[index].values:
            # 先转字符串避免数字、空值类型报错,再执行和目标一致的预处理规则
            processed_val = str(cell_val).replace(" ", "").lower()
            if processed_val == target:
                return index
        # 未匹配到则打印当前行内容,继续下一行
        print(dframe.iloc[index].values)
        index += 1
    # 遍历完所有行未找到匹配,可根据需求调整返回值或抛出异常
    return -1
改动说明
  • 提前对输入的待查找字符串做replace(" ", "").lower()预处理,避免循环内重复计算提升效率
  • 对每行每个单元格的内容,先统一转字符串类型,再执行和目标字符串完全一致的预处理规则,之后再做匹配,符合要求的模糊匹配逻辑,示例中的"Address 1 23 "和" add ress 12 3"预处理后结果完全一致,可以正常匹配
  • 新增了行数边界判断,避免整表无匹配内容时出现索引越界的死循环问题,无匹配时默认返回-1,可根据业务需求调整为抛出异常等处理逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 00:36:03