Fuzzy string matching like a boss.
- Python 2.4 or higher
- difflib
- python-Levenshtein (optional, provides a 4-10x speedup in String Matching)
Using PIP via PyPI
pip install fuzzywuzzy==0.3.1Using PIP via Github
pip install git+git://github.com/seatgeek/[email protected]#egg=fuzzywuzzyAdding to your requirements.txt file (run pip install -r requirements.txt afterwards)
git+ssh://[email protected]/seatgeek/[email protected]#egg=fuzzywuzzyManually via GIT
git clone git://github.com/seatgeek/fuzzywuzzy.git fuzzywuzzy
cd fuzzywuzzy
python setup.py install>>> from fuzzywuzzy import fuzz
>>> from fuzzywuzzy import process>>> fuzz.ratio("this is a test", "this is a test!")
96>>> fuzz.partial_ratio("this is a test", "this is a test!")
100>>> fuzz.ratio("fuzzy wuzzy was a bear", "wuzzy fuzzy was a bear")
90
>>> fuzz.token_sort_ratio("fuzzy wuzzy was a bear", "wuzzy fuzzy was a bear")
100>>> fuzz.token_sort_ratio("fuzzy was a bear", "fuzzy fuzzy was a bear")
84
>>> fuzz.token_set_ratio("fuzzy was a bear", "fuzzy fuzzy was a bear")
100>>> choices = ["Atlanta Falcons", "New York Jets", "New York Giants", "Dallas Cowboys"]
>>> process.extract("new york jets", choices, limit=2)
[('New York Jets', 100), ('New York Giants', 78)]
>>> process.extractOne("cowboys", choices)
("Dallas Cowboys", 90)