AttributeError: модуль 'fuzzywuzzy' не имеет атрибута 'ratio' - PullRequest
0 голосов
/ 11 марта 2019

Я пытаюсь вызвать функцию ratio () из библиотеки fuzzywuzzy, чтобы сопоставить две строки и получить следующее сообщение об ошибке:

AttributeError: module 'fuzzywuzzy' has no attribute 'ratio'

Версия изменилась? Я пытался найти другие функции в fuzz, чтобы увидеть, существует ли он, но я не могу его найти.

import fuzzywuzzy as fuzz
from fuzzywuzzy import process
import Levenshtein
fuzz.ratio('Lord of the Rings', 'The Lord of the Rings')

Ответы [ 4 ]

1 голос
/ 11 марта 2019

ratio - это метод fuzzywuzzy.fuzz. Использование:

from fuzzywuzzy import fuzz

Тогда вы можете использовать:

fuzz.ratio('Lord of the Rings', 'The Lord of the Rings')
1 голос
/ 11 марта 2019

Если вы отметите здесь , вы увидите, что вы неправильно импортируете fuzzywuzzy.

Вместо import fuzzywuzzy as fuzz вы должны использовать from fuzzywuzzy import fuzz

В основном,у вас есть два способа сделать это.Либо:

import fuzzywuzzy as <something>
<something>.fuzz.ratio(...)

, либо из fuzzywuzzy import fuzz fuzz.ratio (...)

0 голосов
/ 11 марта 2019

Файл readme в https://github.com/seatgeek/fuzzywuzzy гласит, что способ использования fuzzywuzzy:

from fuzzywuzzy import fuzz
from fuzzywuzzy import process

То, как вы это сделали (import fuzzy-wuzzy as fuzz), означает, что вам понадобится другойуровень в иерархии вызовов, fuzz.fuzz.blah вместо просто fuzz.blah.

Таким образом, ответ заключается либо в том, чтобы использовать этот дополнительный уровень, либо импортировать его документированным способом.

0 голосов
/ 11 марта 2019

Изменить импорт на:

from fuzzywuzzy as fuzz
from fuzzywuzzy import process
...