#Python merge函数,pandas库数据查询功能,对标V-LOOKUP
日常办公中,我们经常会遇到需要匹配表,匹配对应数据的场景,在EXCEL中,我们习惯使用VLOOKUP函数或者是X-LOOKUP函数,今天学习的是Python,pandas库中的匹配功能。
首先导入所需的pandas库。
import pandas as pd
用到的模拟数据共三张表,分别是销售表,区域表,负责人表。
⬆模拟数据:销售表
⬆模拟数据:区域表
⬆模拟数据:负责人表
第二步:设置文件路径,并读取文件
File_path = r"E:/360MoveData/Users/B/Desktop/实验表.xlsx" #数据源路径 File_output = r"E:/360MoveData/Users/B/Desktop/实验表输出.xlsx" #数据输出路径 sale_sheet = pd.read_excel(File_path,"销售表") #读取销售表 region_sheet = pd.read_excel(File_path,"城市区域表") #读取城市区域表
person_liable_sheet = pd.read_excel(File_path,"负责人表") #读取负责人表
第三步:利用merge函数进行查询,第一参数为目标表,第二参数为查询表,第三参数为两表的连接主键,需要列名一致,第四参数是连接模式,left代表左外连接,也就是我们熟悉的VLOOKUP。
#利用城市查询区域
data = pd.merge(sale_sheet,city_sheet, on = "城市" ,how = "left") print(data.head())
输出如下
#利用区域查询负责人
data2 = pd.merge(data,person_liable_sheet, on = "区域" ,how = "left") print(data2.head())
输出如下
第四步:导出文件
data2.to_excel(File_output)
得到了最后的匹配完整表。
这里只介绍了merge函数的左外查询功能,此外还有右外、全外等查询模式,可以根据具体的实际情况去学习应用。
以上,我是simone,期待下次分享。