模糊字符串匹配:FuzzyWuzzy

Posted cuiyubo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模糊字符串匹配:FuzzyWuzzy相关的知识,希望对你有一定的参考价值。

FuzzyWuzzy

模糊字符串匹配,它使用Levenshtein Distance来计算简单易用的包中序列之间的差异。

前置条件

  • Python 2.7 or higher

  • difflib

  • python-Levenshtein(可选的,在字符串匹配中提供4-10倍的加速,不过在某些情况下可能导致不同的结果)

测试

  • pycodestyle

  • hypothesis

  • pytest

安装

使用PIP经由PyPI安装

技术分享图片

或者用如下命令安装

技术分享图片

使用PIP经由Github安装

技术分享图片

添加你的requirementrequirements.txt文件(然后运行 pip install -r requirements.txt)

技术分享图片

经由Git手动安装

技术分享图片

用法

技术分享图片

简单匹配率

技术分享图片

部分匹配率

技术分享图片

符号排序后匹配率

技术分享图片

符号集合匹配率

技术分享图片

Process

技术分享图片

你也可以给extractOne方法传额外的参数,使它使用一个特定的积分器(scorer).一个典型的用法是匹配文件路径:

技术分享图片

已知移植

FuzzyWuzzy也被移植到了其他语言!以下是我们知道的一些移植:

  • Java: xpresso"s fuzzywuzzy implementation

  • Java: fuzzywuzzy (java port)

  • Rust: fuzzyrusty (Rust port)

  • javascript: fuzzball.js (JavaScript port)

  • C++: Tmplt/fuzzywuzzy

  • C#: fuzzysharp (.Net port)

  • Go: go-fuzzywuzz (Go port)

以上是关于模糊字符串匹配:FuzzyWuzzy的主要内容,如果未能解决你的问题,请参考以下文章

pyqt5 tablewodget 模糊匹配

Python 刷英语六级段落匹配仅需 3 秒?

Python字符串匹配神器TheFuzz库的实战详解

python模糊匹配库能否定制匹配关系

java模糊匹配 字符串匹配某个字符串

Fuzzywuzzy 匹配 2 列...脚本继续运行