excel多条件查找(vlookup),对应python merge函数合并多个excel相同名称

=VLOOKUP(B2&E2&F2,CHOOSE({1,2},$Q$2:$Q$7027&$T$2:$T$7027&$U$2:$U$7027,$V$2:$V$7027),2,FALSE)

此公式是数组公式,需要以三键输入:CTRL + SHIFT + ENTER。

这么做是为了方便后面算MI。

上面的方法能算出来,但是太累了,我们可以使用python里面pandas的merge函数:

三个excel数据情况:

 

 

 

#!usr/bin/env python
# -*- coding:utf-8 -*-
"""
@author: Su
@file: concat.py
@time: 2023/08/23
@desc:
"""
from functools import reduce
import pandas as pd

# 从excel导入表
df1 = pd.read_excel('processdata/lianxi/鄂尔多斯SPI.xlsx')
df2 = pd.read_excel('processdata/lianxi/鄂尔多斯SPIW2.xlsx')
df3 = pd.read_excel('processdata/lianxi/鄂尔多斯MI.xlsx')

# 把excel的数都放入DataFrame中
df1 = pd.DataFrame(df1)
df2 = pd.DataFrame(df2)
df3 = pd.DataFrame(df3)

dfs = [df1,df2,df3]
# 合并三个excel用下面的语法,使用reduce和lambda函数简化merge的过程
merge = reduce(lambda x,y: pd.merge(x,y,how='left'),dfs)
# merge只能合并两个dataframe,合并两个excel用下面的语法,left指以第一个excel为标准
# merge = pd.merge(df1,df2,how='left')
# print(merge)
merge.to_excel('processdata/lianxi/hebing.xlsx')

 

posted @ 2023-08-22 16:07  秋刀鱼CCC  Views(218)  Comments(0Edit  收藏  举报