이 튜토리얼에서는 FuzzyWuzzy 파이썬 라이브러리. 퍼지버지 라이브러리는 문자열과 비교하도록 개발되었습니다. regex와 같은 다른 모듈이 있습니다. , difflib 문자열을 비교합니다. 하지만 FuzzyBuzzy 방식이 독특합니다. 이 라이브러리의 메서드는 true, false 또는 string 대신 일치하는 문자열의 100점 만점에 점수를 반환합니다. .
FuzzyWuzzy로 작업하려면 라이브러리에서 fuzzywuzzy를 설치해야 합니다. 및 python- Levenshtein . 다음 명령어를 실행하여 설치하세요.
pip install fuzzywuzzy
위의 명령어를 실행하면 아래와 같은 성공 메시지가 나옵니다.
fuzzywuzzy수집 https://files.pythonhosted.org/packages/d8/f1/5a267addb30ab7eaa1beab2b9323073815da4551076554ecc890a3595ec9/fuzzy.wuzzy-packages 사전>Linux에서 다음 명령을 실행하여 python-Levenshtein을 설치합니다. .
pip install python-Levenshtein윈도우에서 다음 명령어를 실행하세요.
easy_install python-Levenshtein퍼즈
이제 퍼즈에 대해 알아보겠습니다. 기준 치수. 퍼즈 한 번에 두 개의 문자열을 비교하는 데 사용됩니다. 100점 만점에 점수를 반환하는 다양한 메소드가 있습니다. fuzz 모듈의 메소드를 몇 가지 살펴보겠습니다.
fuzz.ratio()
fuzz의 첫 번째 방법을 봅시다. 모듈 비율 . 100점 만점에 점수를 반환하는 두 문자열을 비교하는 데 사용됩니다. 명확한 아이디어를 얻으려면 아래 예를 참조하세요.
예시
## fuzzywuzzy 라이브러리에서 모듈 가져오기from fuzzywuzzy import fuzz## 100 for same stringsprint(f"Equal Strings:- {fuzz.ratio('tutorialspoint', 'tutorialspoint')}")## 약간의 무작위 점수 문자열의 변경 사항print(f"약간 변경된 문자열:- {fuzz.ratio('tutorialspoint', 'TutorialsPoint')}")print(f"약간 변경된 문자열:- {fuzz.ratio('tutorialspoint', '자습서 포인트' )}")## 다른 문자열을 완성합니다print(f"다른 문자열:- {fuzz.ratio('abcd', 'efgh')}")출력
최대 점수:- 100 약간 변경된 문자열:- 86 약간 변경된 문자열:- 86 다른 문자열:- 0partial_ratio 실험 더 나은 이해를 위해 가능한 한 많이.
fuzz.WRatio()
fuzz.WRatio() 대문자 및 소문자 및 기타 매개변수를 처리합니다. 몇 가지 예를 살펴보겠습니다.
예시
## fuzzywuzzy 라이브러리에서 모듈 가져오기from fuzzywuzzy import fuzz## 한 문자열에 다른 문자열보다 많은 문자가 포함되어 있어도 100점.print(f"Max Score:- {fuzz.WRatio('tutorialspoint', 'tutorialspoint!!! ')}")## 문자열의 약간의 변경에 대한 임의 점수print(f"Slight Changed Strings:- {fuzz.WRatio('tutorialspoint', 'TutorialsPoint')}")print(f"Slight Changed Strings:- {fuzz .WRatio('tutorialspoint', 'TutorialsPoint')}")## 다른 문자열 완성print(f"다른 문자열:- {fuzz.ratio('abcd', 'efgh')}")출력
최대 점수:- 100 약간 변경된 문자열:- 100 약간 변경된 문자열:- 100 다른 문자열:- 0WR비율 우리가 보는 바와 같이 대소문자와 일부 추가 문자를 무시합니다. WRatio 사용 단순한 비율 대신 더 가깝게 일치하는 문자열을 제공합니다.
결론
튜토리얼에 대해 궁금한 점이 있으면 댓글 섹션에 언급하세요.