公司名称之间的相似性:compsim模块没有n

2024-10-02 12:25:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用模块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'  

请帮帮我,我卡住了。你知道吗

谢谢!你知道吗


Tags: 模块nameimportsyscm公司userscompany
1条回答
网友
1楼 · 发布于 2024-10-02 12:25:06

在我看来,compsim模块中有一个bug。str.encode()返回一个bytes对象,在该对象中只能替换其他bytes对象而不能替换字符串。你知道吗

替换字节工作:

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

省略encode同样有效:

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

一种解决方案是在本地修改源代码。删除.encode('utf-8')应该是安全的,因为python3默认是utf-8编码的。你知道吗

相关问题 更多 >

    热门问题