Python:比较两组数据,得出最佳匹配和匹配%

Python:比较两组数据,得出最佳匹配和匹配%,python,fuzzy-search,fuzzy-logic,Python,Fuzzy Search,Fuzzy Logic,我看过很多关于这个话题的问答,但是没有一个包含我想要的输出类型。任何关于这一点的智慧之言都将不胜感激 我有两张名单。。。两个列表都包含一列,由全名| University组成(即名称和大学,由管道连接和分隔) 由于昵称和大学缩写,并不总是完全匹配。我想将列表1中的每条记录与列表2中的每条记录进行比较,并找到最接近的匹配项 然后,我想生成一个包含3列的输出文件:列表1中的每一项、列表2中最接近的匹配项和匹配项% 是否有人可以共享示例代码?谢谢 首先,这里有一个答案,可以提供全名或大学的匹配-您

我看过很多关于这个话题的问答,但是没有一个包含我想要的输出类型。任何关于这一点的智慧之言都将不胜感激

  • 我有两张名单。。。两个列表都包含一列,由全名| University组成(即名称和大学,由管道连接和分隔)
  • 由于昵称和大学缩写,并不总是完全匹配。我想将列表1中的每条记录与列表2中的每条记录进行比较,并找到最接近的匹配项
  • 然后,我想生成一个包含3列的输出文件:列表1中的每一项、列表2中最接近的匹配项和匹配项%

是否有人可以共享示例代码?谢谢

首先,这里有一个答案,可以提供全名或大学的匹配-您可以使用FuzzyFuzzy之类的库将其扩展为包括模糊搜索:

  • 对于这两个列表,将每个字符串拆分为[全名,大学]列表(如果某些字符串不包含“|”字符,则可能需要将其包装在
    try中,但
    if
    语句除外):

    new_list=[item.split(“|”)用于旧_列表中的项目]

  • 运行以下命令以匹配任一元素(假设一个列表名为
    list1
    ,另一个列表名为
    list2
    ):

    如果val[0]==项目[0]或val[1]==项目[1]],则为列表2中的项目匹配列表1中的val=[val]


  • 如果不显示您尝试过的一些代码,您可能不会得到太多帮助,但是对于这一点,是一个很好的库。请尝试解释Python类型的问题,即列和记录不是Python数据类型,并且不是特定于声域的。正如Jack推荐的那样,一些代码示例总是很好的。我对Python非常陌生——我为此尝试的任何代码都失败了,所以我想在这里问一下。请原谅我的noob命名约定。