Print row that causes LangDetectException

881 Views Asked by At

I have trouble doing a language detection. The code below raises an Exception Error.

from langdetect import detect
for row in df['Comments']:
    text = str(row)
    language_code = detect(text)
    sentence = [all_languages_codes.get(language_code)]
    df['Language']=sentence[0]

Error Message:

    148         ngrams = self._extract_ngrams()
    149         if not ngrams:
--> 150             raise LangDetectException(ErrorCode.CantDetectError, 'No features in text.')
    151 
    152         self.langprob = [0.0] * len(self.langlist)

LangDetectException: No features in text.

How to print-out the row that causes the LangDetectException?

1

There are 1 best solutions below

0
On

It looks like your Contents string is empty:

detect("")
LangDetectException: No features in text.

You can launch a debugger or interactive shell to know for sure, wrapping this in a try/except block and launching a debugger when an exception is raised:

from langdetect import detect
for row in df['Comments']:
    try:
        text = str(row)
        language_code = detect(text)
        sentence = [all_languages_codes.get(language_code)]
        df['Language']=sentence[0]
    except Exception:
        import ipdb; ipdb.set_trace()