Python中实现Vlookup并筛选指定列的技术咨询
Python实现Excel文件的Vlookup并提取指定列
以下是完善后的pandas代码,实现对Book1.xlsx和Book2.xlsx的Vlookup操作,仅提取Book2.xlsx中的Name和Control_number列:
import pandas as pd # 读取Book1.xlsx,替换"匹配列名"为两表共有的匹配列(如ID、订单号等) df1 = pd.read_excel("Book1.xlsx") # 读取Book2.xlsx,仅加载匹配列、Name、Control_number三列,提升效率 df2 = pd.read_excel("Book2.xlsx", usecols=["匹配列名", "Name", "Control_number"]) # 执行左连接(等效Excel Vlookup的默认行为),保留Book1的所有行 result_df = pd.merge(df1, df2, on="匹配列名", how="left") # 可选:将结果保存为新Excel文件 result_df.to_excel("Vlookup结果.xlsx", index=False) # 打印结果预览 print(result_df.head())
核心注意事项:
- 必须将代码中的
"匹配列名"替换为两个Excel文件共同存在的列名称(比如"ID"、"产品编号"),这是Vlookup的匹配依据 usecols参数确保只读取Book2.xlsx中需要的列,避免加载冗余数据how="left"会保留Book1.xlsx的所有行,匹配不到的单元格会显示NaN,和Excel中Vlookup的非近似匹配逻辑一致
内容的提问来源于stack exchange,提问作者tony michael
相关产品推荐
相关产品推荐

