在R中逐行检查A列字符串是否为B列较长字符串的子串
检查A列公司名称是否为B列字符串的子串
方法一:Excel公式(适合小规模数据)
在A列旁新增一列(比如C列),在C2单元格输入以下公式,然后下拉填充整列:
=ISNUMBER(SEARCH(A2,B:B))
SEARCH(A2,B:B)会在B列所有单元格中查找A2的内容,找到则返回匹配位置的数字,找不到返回错误值ISNUMBER()将结果转换为布尔值:TRUE表示A列公司名是B列某条字符串的子串,FALSE表示不存在- 如果需要区分大小写匹配,把
SEARCH换成FIND即可
方法二:Python + Pandas(适合大规模数据)
如果数据源规模较大,用代码处理效率更高:
import pandas as pd # 读取数据源(根据实际文件格式调整,比如xlsx) df_a = pd.read_csv("a_column.csv") df_b = pd.read_csv("b_column.csv") # 提取B列的所有公司名称 b_company_list = df_b["Company"].tolist() # 定义检查子串的函数 def is_substring(company_name): return any(company_name in b_name for b_name in b_company_list) # 给A列添加结果列 df_a["是否在B列存在"] = df_a["Company"].apply(is_substring) # 保存结果 df_a.to_csv("匹配结果.csv", index=False)
运行后会生成带结果列的新文件,是否在B列存在列的True/False对应匹配状态。
内容的提问来源于stack exchange,提问作者Gorgonzola45
相关产品推荐
相关产品推荐

