使用ftfy修复mojibake时触发AttributeError错误的解决方法
解决ftfy修复列表乱码的问题
问题原因
ftfy.fix_text()仅支持字符串类型输入,你直接传入splitlines()生成的列表,自然会触发AttributeError——列表没有find方法(该方法是字符串的内置方法)。
解决方案
要保留列表格式,只需遍历列表中的每一行文本,对单个字符串调用ftfy.fix_text(),再将修复后的字符串重新组合成新列表即可:
基础实现代码
import ftfy # 假设unknown是你通过splitlines()得到的文本行列表 fixed_lines = [ftfy.fix_text(line) for line in unknown]
带异常/空行处理的进阶实现
如果需要跳过空行或处理特殊情况,可以添加简单判断:
fixed_lines = [] for line in unknown: # 跳过空白行,保留非空行并修复 if line.strip(): fixed_line = ftfy.fix_text(line) fixed_lines.append(fixed_line) else: fixed_lines.append(line) # 按需保留空行
处理后得到的fixed_lines仍为列表格式,可直接送入Spacy模型进行后续NLP处理。
内容的提问来源于stack exchange,提问作者Sang
相关产品推荐
相关产品推荐

