使用pyenchant自动更正pandas数据框中的列

时间:2018-03-20 19:15:49

标签: pandas pyenchant

我尝试将接受的this question答案中的代码应用到我的每个数据帧列中,其中每行都是一个句子,但它不起作用。

我的代码看起来像这样:

from enchant.checker import SpellChecker
checker = SpellChecker("id_ID")

h = df['Jawaban'].astype(str).str.lower()
hayo = []


for text in h:
    checker.set_text(text)

    for s in checker:
        sug = s.suggest()[0]
        s.replace(sug)

    hayo.append(checker.get_text())

我收到以下错误:

IndexError: list index out of range

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我没有使用您的代码获取错误。我唯一不同的做法是导入拼写检查程序。

from enchant.checker import SpellChecker
checker = SpellChecker('en_US','en_UK') # not using id_ID

# sample data
ds = pd.DataFrame({ 'text': ['here is a spllng mstke','the wrld is grwng']})
p = ds['text'].str.lower()

hayo = []

for text in p:
    checker.set_text(text)

    for s in checker:
        sug = s.suggest()[0]
        s.replace(sug)

    print(checker.get_text())
    hayo.append(checker.get_text())

print(hayo)

here is a spelling mistake
the world is growing