我正在尝试使用Python的“langdetect”库来检测数据框中的外语。

for e in food['product_name'].dropna():
    if detect(e) == 'zh':
        print e

我在这里尝试打印在特定列中找到的每个中文单词。

但是,有时我会收到以下错误消息:
LangDetectException: No features in text.

我了解发现数字,空格或不是单词的字符串(引用代码,邮件地址...)时会发生这种情况。

我只想抛出一个异常并相应地处理情况,但是我不知道该怎么做。这是我的尝试:
for e in food['product_name'].dropna():
    if detect(e) == 'zh':
        try:
            print e
        except LangDetectException:
            pass

有人可以帮我解决这个写得不好的代码段吗?显然有问题,但是我不知道到底是什么!

最佳答案

如上面的注释中所述,检测是引发异常的原因,因此您需要将该调用包装在try块中:

for e in food['product_name'].dropna():
    try:
        if detect(e) == 'zh':
            print e
    except LangDetectException:
        pass

09-04 05:56