加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

使用pandas实现excel的vlookup功能

(2021-02-08 14:38:43)
https://blog.csdn.net/bin083/article/details/94978218

import openpyxl
import pandas as pd
df1 = pd.DataFrame(pd.read_excel(r'h:\部门.xlsx',sheet_name = 'Sheet1'))
df2 = pd.DataFrame(pd.read_excel('h:\\全校名单20210201.xlsx',sheet_name = '汇总'))

result = pd.merge(df1,df2.loc[:,['姓名','手机','性别']],how='left',on = '姓名')

writer = pd.ExcelWriter('result.xlsx')
result.to_excel(writer,index=False)
writer.save()


Pandas_两表联合(类似excel的vlookup操作)
http://www.bubuko.com/infodetail-3044768.html

https://blog.csdn.net/Eric_data/article/details/104164329?utm_medium=distribute.pc_relevant_download.none-task-blog-BlogCommendFromBaidu-3.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-BlogCommendFromBaidu-3.nonecas

import openpyxl
import pandas as pd
df1 = pd.DataFrame(pd.read_excel(r'h:\部门.xlsx',sheet_name = 'Sheet1'))
df1.head()
df2 = pd.DataFrame(pd.read_excel('h:\\全校名单20210201.xlsx',sheet_name = '汇总'))
df2.head()
df2=df2[['姓名','手机','学科']]
df2.head()

df_merge = pd.merge(left=df1, right=df2, left_on="姓名", right_on="姓名")
df_merge.head()

# 将columns变成python的列表形式
new_columns = df_merge.columns.to_list()

for name in ["手机", "学科"][::-1]:
    new_columns.remove(name)
    new_columns.insert(new_columns.index("姓名")+1, name)

df_merge = df_merge.reindex(columns=new_columns)
df_merge.head()

df_merge.to_excel("./合并后的数据表.xlsx", index=False)

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有