首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拼写检查Python/Pandas/PyEnchant中的列

拼写检查Python/Pandas/PyEnchant中的列
EN

Stack Overflow用户
提问于 2016-09-14 23:02:07
回答 1查看 2.3K关注 0票数 0

我试着用隐写符拼写检查每一个条目,在一个名为“宠物在熊猫”的专栏中,“数据”被称为“房子”。

代码语言:javascript
复制
import enchant
dict = enchant.Dict("en_US")

for pets in house:
     [pets] = dict.suggest([pets])[0]

当我运行这段代码时,我会发现一个错误,就是没有将字节串传递给Pyenchant。不知道该怎么做。全文如下:

文件"myfile",第20行,在pets = "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/enchant/init.py",(Pets)文件第662行中,在建议word = self._StringClass(word)文件"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/enchant/utils.py",第152行中在新的引发错误(“不要将字节串传递给紧缩者”) enchant.errors.Error:不要将字节串传递给紧缩者

我怎么才能解决这个问题?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-09-15 01:43:58

如果数据文件包含字节字符串,则需要在将它们传递给enchant之前对它们进行解码;您可以使用.str.decode('utf-8')来完成这一任务。然后,要应用您的函数,最干净的处理这种情况的方法通常是跨系列使用map,而不是迭代。(还不应该隐藏关键字dict):

代码语言:javascript
复制
checker =  enchant.Dict("en_US")
house = pd.Series([b'caat', b'dogg'])

#decode the bytestrings
house = house.str.decode('utf-8')

#map the spell checker
house.map(lambda x: checker.suggest(x)[0])

# Out[19]:
# 0    cat
# 1    dog
# dtype: object
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39500899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档