十万级数据:两表Title忽略大小写匹配填充Code字段需求求助
数据匹配填充解决方案
Excel 操作步骤
- 假设表A在
Sheet1,表B在Sheet2 - 给表A新增辅助列(如C列),在C2单元格输入公式
=LOWER(B2),下拉填充完成所有Title的小写转换 - 给表B新增辅助列(如C列),同样用
=LOWER(B2)公式完成小写转换 - 在表A的A2单元格(Code列)输入公式:
=IFERROR(VLOOKUP(C2,Sheet2!$C:$A,2,FALSE),""),下拉填充该列 - 选中表A的Code列,复制后右键选择粘贴值固定结果,最后可删除辅助列
Python pandas 代码实现
针对万级数据,用pandas处理效率更高:
import pandas as pd # 读取数据(根据实际文件格式调整,excel文件用pd.read_excel) df_a = pd.read_csv("表A.csv") df_b = pd.read_csv("表B.csv") # 统一将Title转为小写,用于忽略大小写匹配 df_a["title_lower"] = df_a["Title"].str.lower() df_b["title_lower"] = df_b["Title"].str.lower() # 左连接匹配,仅填充匹配成功的Code值 merged_df = df_a.merge(df_b[["title_lower", "Code"]], on="title_lower", how="left", suffixes=("", "_from_b")) merged_df["Code"] = merged_df["Code_from_b"].fillna(merged_df["Code"]) # 整理结果列,删除辅助列 result_df = merged_df[["Code", "Title"]] # 保存结果文件(可替换为Excel格式) result_df.to_csv("匹配结果表.csv", index=False)
内容的提问来源于stack exchange,提问作者이승우
相关产品推荐
相关产品推荐

