手边有79个学校参加 智能车深度学习组别 提交的技术报告,但是在等级的EXCEL表格中对应的学校的名称与报告名称有些区别。那么如何能够比较自动对这些名称进行匹配呢?
这里使用了PYTHON库中的difflib的 get_cose_matches函数,来寻找在一个string列表中与被匹配的string最接近的字符串,其中参数 cutoff来定义匹配的相似程度。 n参数定义匹配的字符数量。
为了能够始终找到可以匹配上的字符串, 对于cutoff采用了调整的方式,直道找到一个可以匹配的字符串。
for cf in range(20):
match = difflib.get_close_matches(l, filelist, cutoff = 1.0 - cf/20.0, n=20)
if len(match) > 0:
matchlist.append(match[0])
flag = 1
break
Say we have a list of strings: _list = […,] and user input _input = ‘…’, how do we find the items in _list that most closely resemble _input?
Python has a built-in package called difflib with the function get_close_matches() that can help us.
get_close_matches(word, possibilities, n, cutoff) accepts four parameters:
word - the word to find close matches for in our list
possibilities - the list in which to search for close matches of word
n (optional) - the maximum number of close matches to return. Must be > 0. Default is 3.
cutoff (optional) - a float in the range [0, 1] that a possibility must score in order to be considered similar to word. 0 is very lenient, 1 is very strict. Default is 0.6.
相关应用:
EXCEL | 文件名 |
---|---|
安徽财经大学-安财AI零队 | 安徽财经大学-技术报告.pdf |
安徽工程大学-ahpu队 | 安徽工程大学-ahpu队-人工智能创意赛技术报告.pdf |
蚌埠学院 | 蚌埠学院技术报告.pdf |
北方工业大学-三只小白秃 | 北方工业大学-人工智能创意赛技术报告.pdf |
北华大学-北华翔龙2020 | 北华大学+北华翔龙2020.docx |
北京服装学院-乘风归队 | 北京服装学院 乘风归队 人工智能创意赛技术报告.pdf |
北京工业大学-BJUT | smart car 北京理工大学-技术报告.pdf |
北京科技大学-北京科技大学人工智能创意组 | 北京科技大学人工智能创意组技术报告.pdf |
北京理工大学-北湖鲤鱼王 | 北京理工大学-技术报告.pdf |
北京联合大学-Mr.郑先生 的团队 | 北京联合大学技术报告.docx |
北京邮电大学-ADC车队 | 北京邮电大学.pdf |
重庆大学-飞来一根葱队 | 重庆大学-人工智能创意赛技术报告(飞来一根葱队).pdf |
重庆邮电大学-Mindhand | 重庆邮电大学+Mindhand+技术报告.pdf |
大连海事大学-专业雷速登遥控车手队 | 大连海事大学-技术报告.pdf |
东北大学-青青草原催债团 | 东南大学-机器不学习.pdf |
东北大学秦皇岛分校-NEUQ人工智能一队 | 东北大学秦皇岛分校+NEUQ人工智能一队.pdf |
东莞理工学院-J中冲冲 | 东莞理工学院-技术报告.pdf |
东南大学-机器不学习 | 东南大学-机器不学习.pdf |
广东技术师范大学-冲冲冲队 | 广东技术师范大学-冲冲冲队-人工智能创意赛技术报告.pdf |
广西大学-sn团队 | 南京师范大学-赛腾七队.pdf |
国防科技大学-untitled | 国防科技大学 Untitled 作品报告.pdf |
哈尔滨工程大学-济海追风0队 | 哈尔滨工程大学-济海追风0队.pdf |
哈尔滨工业大学(深圳)-HITsz小队 | 哈尔滨工业大学(深圳)技术报告.pdf |
哈尔滨工业大学(威海)-传球啊坤坤 | 哈尔滨工业大学(威海)-传球啊坤坤.docx |
哈尔滨工业大学-紫丁香二队 | 哈尔滨工业大学紫丁香二队技术报告.pdf |
杭州电子科技大学-杭电百度创意一队 | 杭州电子科技大学+杭电百度创意一队.pdf |
合肥学院-围巾man | 合肥学院-人工智能创意赛技术报告.pdf |
黑龙江工程学院 | 黑龙江工程学院人工智能创意赛技术报告(1).docx |
黑龙江科技大学-让我与会员队 | 黑龙江科技大学-无人车技术报告.docx |
湖北汽车工业学院-武当山观光车队 | 湖北汽车工业学院-武当山观光车队-技术报告.pdf |
华北电力大学-CIENB | 华北电力大学.docx |
华南理工大学-华工奔雷队 | 华南理工大学-人工智能创意赛技术报告.docx |
华南师范大学深蓝色工程师-阿尔法猫 | 华南师范大学-深蓝色工程师阿尔法猫-技术报告.pdf |
华中科技大学-深度学习一队 | 华中科技大学深度学习一队报告.pdf |
火箭军工程大学-西安小钢炮 | 火箭军工程大学-人工智能创意赛技术报告.pdf |
集美大学-一起爬山队 | 南京师范大学-赛腾七队.pdf |
江苏大学-幽荧 | 江苏大学-人工智能创意赛技术报告.pdf |
江苏理工学院-江苏理工Smart | car 江苏理工学院-人工智能创意赛技术报告.pdf |
江西农业大学-南昌商学院创意组 | 江西农业大学南昌商学院 肉蛋葱鸡队创意组技术报告.pdf |
金陵科技学院-两天完赛队 | 金陵科技学院+两天完赛队.pdf |
空军预警学院 | 空军预警学院-人工智能创意赛技术报告(1).docx |
鲁东大学-WrightOcean | 鲁东大学-技术报告).docx |
闽江学院-MJU | 浙江科技学院-技术报告.pdf |
南京航空航天大学-冲冲冲队 | 南京航空航天大学+冲冲冲队技术报告.pdf |
南京理工大学泰州科技学院 | 南京理工大学泰州科技学院技术报告.docx |
南京师范大学-赛腾七队 | 南京师范大学-赛腾七队.pdf |
南京信息工程大学-B-DAT队 | 南京信息工程大学-技术报告.pdf |
南通大学-AIGO | 南通大学-人工智能创意赛技术报告.pdf |
齐鲁工业大学-咱们裸熊 | 齐鲁工业大学-人工智能创意赛技术报告-咱们裸熊.pdf |
青岛科技大学-无状态ZZM的团队 | 青岛科技大学 无状态ZZM的团队 人工智能创意赛 技术报告.pdf |
曲阜师范大学-流觞曲水 | 曲阜师范大学技术报告.pdf |
厦门大学-南强至央 | 厦门大学-第十五届全国大学生智能汽车竞赛.pdf |
山东大学(威海)-真彦灏 | 山东大学(威海)真彦灏-技术报告.docx |
上海工程技术大学-爱了爱了队 | 上海工程技术大学-人工智能创意赛技术报告.pdf |
上海海事大学 | 上海海事大学-人工智能创意赛技术报告.pdf |
上海交通大学-CyberAI | 上海交通大学-CyberA1-人工智能创意赛技术报告.pdf |
上海理工大学-一马当先 | 上海理工大学-技术报告.pdf |
四川大学-专业团队 | 南京师范大学-赛腾七队.pdf |
四川师范大学-DeepMan | 四川师范大学-DeepMan-技术手册.pdf |
太原工业学院-晋速-虹贯星 | 太原工业学院人工智能创意赛技术报告.docx |
太原理工大学 | 太原理工大学-人工智能创意赛技术报告.pdf |
天津大学-天津大学百度创意队 | 天津大学百度创意队技术报告.pdf |
同济大学-智信‘GRAPfruitE | 同济大学-技术报告.pdf |
武汉大学-格珈」ronhide | 武汉大学+珞珈-Ironhide.pdf |
武汉理工大学-桨道理队-技术报告 | 武汉理工大学-桨道理队-技术报告.pdf |
西安工业大学-三张飙车队 | 西安工业大学-技术报告.docx |
西安邮电大学-今晚打老虎 | 西安邮电大学今晚打老虎人工智能创意赛技术报告.pdf |
西北工业大学-翱翔之翼队 | 西北工业大学 翱翔之翼队 技术报告.pdf |
西南交通大学-逆行者 | 西南交通大学-人工智能创意赛技术报告.pdf |
盐城工学院-欠拟合队 | 盐城工学院-人工智能创意赛技术报告模板.pdf |
长春工业大学-长工大魔鼠一队 | 长工大魔鼠一队技术报告.pdf |
长沙师范学院+中南大学-长师中南比亚迪申猴2020 | 长师中南比亚迪申猴2020.pdf |
浙大城市学院-浙江人工智能队 | 浙大城市学院-人工智能创意赛技术报告.pdf |
浙江科技学院-浙科深度学习一队 | 华中科技大学深度学习一队报告.pdf |
中北大学-卓创车队 | 中北大学-人工智能创意赛技术报告.pdf |
中国海洋大学-Phoenix | 中国海洋大学Phoenix技术报告.docx |
中国计量大学-仰仪AI创意0队 | 中国计量大学仰仪AI创意0队.pdf |
中国矿业大学CUMTAI | 中国计量大学仰仪AI创意0队.pdf |
中南民族大学-东经114点39 | 中南民族大学-人工智能创意赛技术报告.pdf |
前面自动匹配的过程还存在着五个错误。经过修改之后如下为正式的匹配结果:
EXCEL | 文件名称 |
---|---|
安徽财经大学-安财AI零队 | 安徽财经大学-技术报告.pdf |
安徽工程大学-ahpu队 | 安徽工程大学-ahpu队-人工智能创意赛技术报告.pdf |
蚌埠学院 | 蚌埠学院技术报告.pdf |
北方工业大学-三只小白秃 | 北方工业大学-人工智能创意赛技术报告.pdf |
北华大学-北华翔龙2020 | 北华大学+北华翔龙2020.docx |
北京服装学院-乘风归队 | 北京服装学院 乘风归队 人工智能创意赛技术报告.pdf |
北京工业大学-BJUTsmart car | 北京理工大学-技术报告.pdf |
北京科技大学-北京科技大学人工智能创意组 | 北京科技大学人工智能创意组技术报告.pdf |
北京理工大学-北湖鲤鱼王 | 北京理工大学-技术报告.pdf |
北京联合大学-Mr.郑先生 的团队 | 北京联合大学技术报告.docx |
北京邮电大学-ADC车队 | 北京邮电大学.pdf |
重庆大学-飞来一根葱队 | 重庆大学-人工智能创意赛技术报告(飞来一根葱队).pdf |
重庆邮电大学-Mindhand | 重庆邮电大学+Mindhand+技术报告.pdf |
大连海事大学-专业雷速登遥控车手队 | 大连海事大学-技术报告.pdf |
东北大学-青青草原催债团 | 东南大学-机器不学习.pdf |
东北大学秦皇岛分校-NEUQ人工智能一队 | 东北大学秦皇岛分校+NEUQ人工智能一队.pdf |
东莞理工学院-J中冲冲 | 东莞理工学院-技术报告.pdf |
东南大学-机器不学习 | 东南大学-机器不学习.pdf |
广东技术师范大学-冲冲冲队 | 广东技术师范大学-冲冲冲队-人工智能创意赛技术报告.pdf |
广西大学-sn团队 | 广西大学人工智能创意赛技术报告.pdf |
国防科技大学-untitled | 国防科技大学 Untitled 作品报告.pdf |
哈尔滨工程大学-济海追风0队 | 哈尔滨工程大学-济海追风0队.pdf |
哈尔滨工业大学(深圳)-HITsz小队 | 哈尔滨工业大学(深圳)技术报告.pdf |
哈尔滨工业大学(威海)-传球啊坤坤 | 哈尔滨工业大学(威海)-传球啊坤坤.docx |
哈尔滨工业大学-紫丁香二队 | 哈尔滨工业大学紫丁香二队技术报告.pdf |
杭州电子科技大学-杭电百度创意一队 | 杭州电子科技大学+杭电百度创意一队.pdf |
合肥学院-围巾man | 合肥学院-人工智能创意赛技术报告.pdf |
黑龙江工程学院 | 黑龙江工程学院人工智能创意赛技术报告(1).docx |
黑龙江科技大学-让我与会员队 | 黑龙江科技大学-无人车技术报告.docx |
湖北汽车工业学院-武当山观光车队 | 湖北汽车工业学院-武当山观光车队-技术报告.pdf |
华北电力大学-CIENB | 华北电力大学.docx |
华南理工大学-华工奔雷队 | 华南理工大学-人工智能创意赛技术报告.docx |
华南师范大学深蓝色工程师-阿尔法猫 | 华南师范大学-深蓝色工程师阿尔法猫-技术报告.pdf |
华中科技大学-深度学习一队 | 华中科技大学深度学习一队报告.pdf |
火箭军工程大学-西安小钢炮 | 火箭军工程大学-人工智能创意赛技术报告.pdf |
集美大学-一起爬山队 | 集美大学人工智能创意组技术报告.pdf |
江苏大学-幽荧 | 江苏大学-人工智能创意赛技术报告.pdf |
江苏理工学院-江苏理工Smart | car 江苏理工学院-人工智能创意赛技术报告.pdf |
江西农业大学-南昌商学院创意组 | 江西农业大学南昌商学院 肉蛋葱鸡队创意组技术报告.pdf |
金陵科技学院-两天完赛队 | 金陵科技学院+两天完赛队.pdf |
空军预警学院 | 空军预警学院-人工智能创意赛技术报告(1).docx |
鲁东大学-WrightOcean | 鲁东大学-技术报告).docx |
闽江学院-MJU | 闽江学院mju人工智能创意赛技术报告.docx |
南京航空航天大学-冲冲冲队 | 南京航空航天大学+冲冲冲队技术报告.pdf |
南京理工大学泰州科技学院 | 南京理工大学泰州科技学院技术报告.docx |
南京师范大学-赛腾七队 | 南京师范大学-赛腾七队.pdf |
南京信息工程大学-B-DAT队 | 南京信息工程大学-技术报告.pdf |
南通大学-AIGO | 南通大学-人工智能创意赛技术报告.pdf |
齐鲁工业大学-咱们裸熊 | 齐鲁工业大学-人工智能创意赛技术报告-咱们裸熊.pdf |
青岛科技大学-无状态ZZM的团队 | 青岛科技大学 无状态ZZM的团队 人工智能创意赛 技术报告.pdf |
曲阜师范大学-流觞曲水 | 曲阜师范大学技术报告.pdf |
厦门大学-南强至央 | 厦门大学-第十五届全国大学生智能汽车竞赛.pdf |
山东大学(威海)-真彦灏 | 山东大学(威海)真彦灏-技术报告.docx |
上海工程技术大学-爱了爱了队 | 上海工程技术大学-人工智能创意赛技术报告.pdf |
上海海事大学 | 上海海事大学-人工智能创意赛技术报告.pdf |
上海交通大学-CyberAI | 上海交通大学-CyberA1-人工智能创意赛技术报告.pdf |
上海理工大学-一马当先 | 上海理工大学-技术报告.pdf |
四川大学-专业团队 | 四川大学 创意组技术报告.pdf |
四川师范大学-DeepMan | 四川师范大学-DeepMan-技术手册.pdf |
太原工业学院-晋速-虹贯星 | 太原工业学院人工智能创意赛技术报告.docx |
太原理工大学 | 太原理工大学-人工智能创意赛技术报告.pdf |
天津大学-天津大学百度创意队 | 天津大学百度创意队技术报告.pdf |
同济大学-智信‘GRAPfruitE | 同济大学-技术报告.pdf |
武汉大学-格珈」ronhide | 武汉大学+珞珈-Ironhide.pdf |
武汉理工大学-桨道理队-技术报告 | 武汉理工大学-桨道理队-技术报告.pdf |
西安工业大学-三张飙车队 | 西安工业大学-技术报告.docx |
西安邮电大学-今晚打老虎 | 西安邮电大学今晚打老虎人工智能创意赛技术报告.pdf |
西北工业大学-翱翔之翼队 | 西北工业大学 翱翔之翼队 技术报告.pdf |
西南交通大学-逆行者 | 西南交通大学-人工智能创意赛技术报告.pdf |
盐城工学院-欠拟合队 | 盐城工学院-人工智能创意赛技术报告模板.pdf |
长春工业大学-长工大魔鼠一队 | 长工大魔鼠一队技术报告.pdf |
长沙师范学院+中南大学-长师中南比亚迪申猴2020 | 长师中南比亚迪申猴2020.pdf |
浙大城市学院-浙江人工智能队 | 浙大城市学院-人工智能创意赛技术报告.pdf |
浙江科技学院-浙科深度学习一队 | 华中科技大学深度学习一队报告.pdf |
中北大学-卓创车队 | 中北大学-人工智能创意赛技术报告.pdf |
中国海洋大学-Phoenix | 中国海洋大学Phoenix技术报告.docx |
中国计量大学-仰仪AI创意0队 | 中国计量大学仰仪AI创意0队.pdf |
中国矿业大学CUMTAI | 中国矿业大学-人工智能创意赛技术报告.docx |
中南民族大学-东经114点39 | 中南民族大学-人工智能创意赛技术报告.pdf |
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# INFOR1.PY -- by Dr. ZhuoQing 2020-08-06
#
# Note:
#============================================================
from headm import *
import pandas as pd
import difflib
#------------------------------------------------------------
inforexcel = tspstring2text('inforexcel').strip('\r\n')
paperdir = tspstring2text('paperdir').strip('\r\n')
printf(inforexcel)
printf(paperdir)
filedim = os.listdir(paperdir)
#printf(filedim)
filelist = filedim
#------------------------------------------------------------
excelfile = pd.read_excel(inforexcel)
listdata = excelfile.values.tolist()
excelname = []
for id,l in enumerate(listdata):
excelname.append(l[0])
#------------------------------------------------------------
excellist = []
matchlist = []
error = 0
for l in excelname:
excellist.append(l)
flag = 0
for cf in range(20):
match = difflib.get_close_matches(l, filelist, cutoff = 1.0 - cf/20.0)
if len(match) > 0:
matchlist.append(match[0])
flag = 1
break
if flag == 0:
matchlist.append('*****')
error = error + 1
#for l in excelname:
# excellist.append(l)
# flag = 0
# match = difflib.get_close_matches(l, filelist, cutoff = 0.3)
# if len(match) > 0:
# matchlist.append(match[0])
# flag = 1
# if flag == 0:
# matchlist.append('*****')
# error = error + 1
#------------------------------------------------------------
tspmsgclr()
printf("EXCEL 文件名")
for m,n in zip(excellist, matchlist):
printff(m, n)
#printf("No Match:%d"%error)
tspmsgcopy()
printf("Error:%d"%error)
#------------------------------------------------------------
# END OF FILE : INFOR1.PY
#============================================================