Сходство между названиями компаний: модуль compsim не работает - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь использовать модуль compsim, чтобы получить вероятности совпадения названий компаний:

import csv
import sys
sys.path.insert(0,'C:/Users/MyName/Documents/Python Scripts/compsim-0.0.3')

from compsim.company_name_similarity import CompanyNameSimilarity

cm = CompanyNameSimilarity()
cm.match_score("Rombus Solutions ltd", "Axia Solutions pvt ltd")

Но я получаю ошибку:

File "C:\Users\MyName\Anaconda3\lib\site-packages\compsim-0.0.3-py3.6.egg\compsim\company_name_similarity.py", line 18, in preprocess
return field.encode('utf-8').lower().replace('\n','').replace("'",' ').replace('\r','').replace('/',' ').\

TypeError: a bytes-like object is required, not 'str'  

Пожалуйста, помогите мне, я застрял.

Спасибо!

1 Ответ

0 голосов
/ 21 сентября 2018

Мне кажется, что это ошибка в модуле compsim.str.encode() возвращает байтовый объект, в котором вы можете заменить только другие байтовые объекты, но не строки.

Замена байтов работает:

field = "Rombus"
field.encode('utf-8').replace(b'\n', b'')

Пропуск encode также работает:

field = "Rombus"
field.replace('\n', '')

Одним из решений было бы локальное изменение исходного кода.Удаление .encode('utf-8') должно быть безопасным, поскольку Python 3 по умолчанию кодируется в utf-8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...