没有合适的资源?快使用搜索试试~ 我知道了~
首页利用Python实现Excel的文件间的数据匹配功能
利用Python实现Excel的文件间的数据匹配功能

主要介绍了利用Python实现Excel的文件间的数据匹配,本文通过一个函数实现此功能,通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
资源详情
资源评论
资源推荐

利用利用Python实现实现Excel的文件间的数据匹配功能的文件间的数据匹配功能
主要介绍了利用Python实现Excel的文件间的数据匹配,本文通过一个函数实现此功能,通过实例代码给大家介
绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
我们知道Excel有一个match函数,可以做数据匹配。
比如要根据人名获取成绩
而参考表sheet1的内容如下:
要根据sheet1匹配每人的成绩,用Excel是这么写
index(Sheet1!B:B,MATCH(A2,Sheet1!A:A,0))
意思就是获取sheet1的B列的内容,根据我的A列匹配sheet1的A列的内容
但是如何用python实现这一点呢,我写了一个函数,非常好用,分享给大家。
这个函数考虑到了匹配多个字段,多个sheet。
import pandas as pd
def match(file,sheetnames,reffile,refsheet,targetsegs,matchseg) #文件名 sheet列表 参考文件名 参考sheet 目标字段列表 参考字段
alldata=pd.read_excel(file,None)
refdata=pd.read_excel(reffile,refsheet)
#获取映射字典
maps={}
for i in refdata.index:
MatchSeg=refdata.loc[i,matchseg]
maps[MatchSeg]={}
for seg in targetsegs:
maps[MatchSeg][seg]=refdata.loc[i,seg]
#匹配数据
for sheet in sheetnames:
if(isinstance(sheet,int)):
sheet=list(alldata.keys())[sheet]
data=alldata[sheet].fillna('-')
for i in data.index:
MatchSeg=data.loc[i,matchseg]
for seg in targetsegs:
try:
data.loc[i,seg]=map[MatchSeg][seg]
except Exception as e:
pass
alldata[sheet]=data
#导出
with pd.ExcelWriter(file) as writer:
for sheet in alldata.keys():
alldata[sheet].to_excel(writer,sheet,index=False)

















weixin_38553466
- 粉丝: 10
- 资源: 955
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- plc控制交通灯毕业设计论文.doc
- 本科毕设论文-—基于单片机控制“航标灯”的控制系统设计与调试.doc
- 基于单片机的心率设计毕业设计论文.doc
- 前端 60 道面试题及答案.docx
- 十七、海康威视摄像头开发文档
- 基于ssm+mysql在线读书与分享论坛源码数据库论文.doc
- 电子商务环境下我国国际贸易问题研究.doc
- 基于ssm+mysql的在线收银系统源码数据库论文.docx
- 基于SSM+mysql的快递管理系统源码数据库论文.doc
- 人工智能方法在土木工程监测中的运用.pptx
- 算法、演绎倾向与数学史的分期.pptx
- 中小企业电子商务采购发展状况与对策研究.pptx
- 基于javaee的通用商城系统设计设计.doc
- 基于php网站系统的移动增值业务的设计与实现--毕业设计论文.doc
- 基于MSP430单片机的信号发生器设计-毕业论文.doc
- day03 代理+适配器+桥接+外观+装饰
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论5