You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pyenchant修正Pandas数据框列内容报错:IndexError列表索引越界

解决拼写检查时的IndexError问题

嘿,这个问题我之前处理过!你碰到的IndexError: list index out of range,根源就在这一行:

sug = s.suggest()[0]

当enchant的印尼语拼写检查器(id_ID)遇到某个错误单词,却找不到任何拼写建议的时候,s.suggest()会返回一个空列表。这时候你强行去取索引[0],自然就触发索引越界错误了。

修复后的代码

我们只需要在获取建议前先判断列表是否非空,有建议就替换,没有就保留原单词:

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:
        # 先检查是否有可用的拼写建议
        suggestions = s.suggest()
        if suggestions:
            sug = suggestions[0]
            s.replace(sug)
        # 如果没有建议,就不做替换,保留原词
    hayo.append(checker.get_text())

额外提示

  • 可以先确认你的enchant是否正确安装了印尼语词典,有些环境下默认可能没有自带,需要手动安装对应语言包。
  • 如果遇到专业术语、生僻词或者拼写太离谱的单词,检查器确实可能给不出建议,这时候你可以根据需求自定义处理逻辑(比如标记该单词,或者直接跳过)。

内容的提问来源于stack exchange,提问作者Tata

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:08:36