久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

利用Python實現Excel的文件間的數據匹配功能

瀏覽:114日期:2022-07-21 09:40:57

我們知道Excel有一個match函數,可以做數據匹配。比如要根據人名獲取成績

利用Python實現Excel的文件間的數據匹配功能

而參考表sheet1的內容如下:

利用Python實現Excel的文件間的數據匹配功能

要根據sheet1匹配每人的成績,用Excel是這么寫

index(Sheet1!B:B,MATCH(A2,Sheet1!A:A,0))

意思就是獲取sheet1的B列的內容,根據我的A列匹配sheet1的A列的內容

但是如何用python實現這一點呢,我寫了一個函數,非常好用,分享給大家。這個函數考慮到了匹配多個字段,多個sheet。

import pandas as pddef 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:passalldata[sheet]=data#導出with pd.ExcelWriter(file) as writer:for sheet in alldata.keys():alldata[sheet].to_excel(writer,sheet,index=False)match(’要匹配的表.xlsx’,[0,1],’參考表.xlsx’,’參考頁’,[’要匹配的字段1,字段2’],’參考字段’)

總結

到此這篇關于利用Python實現Excel的文件間的數據匹配功能的文章就介紹到這了,更多相關Python實現Excel的文件間的數據匹配內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: python
相關文章:
主站蜘蛛池模板: 泰安市| 黑水县| 叙永县| 兖州市| 沁阳市| 当涂县| 泰宁县| 沁源县| 镇坪县| 武功县| 富宁县| 望江县| 昆明市| 滦南县| 曲靖市| 布尔津县| 荆门市| 呼伦贝尔市| 淮南市| 枣阳市| 深水埗区| 沭阳县| 镇安县| 安宁市| 施甸县| 马山县| 剑川县| 西盟| 海林市| 福安市| 图们市| 句容市| 阳城县| 唐山市| 北安市| 连平县| 荣成市| 三江| 襄樊市| 凤山市| 惠安县|