GoogleTrans API错误-预期值:第1行第1列(字符0)


问题内容

在迭代中翻译成千上万个文本数据时出现此错误:

Expecting value: line 1 column 1 (char 0)

我的翻译大量文本的代码:

translatedList = []
for index, row in df.iterrows():
    newrow = copy.deepcopy(row)
    try:
        # translate the 'text' column
        translated = translator.translate(row['text'], dest='en')
        newrow['translated'] = translated.text
    except Exception as e:
        print(str(e))
        continue
    translatedList.append(newrow)

翻译大约2-3k行后,我收到此错误。


问题答案:

我有点想通了。我认为这与Google API的请求限制有关。

我通过在每次迭代中重新初始化翻译器API来解决此问题:

import copy
from googletrans import Translator

translatedList = []
for index, row in df.iterrows():
    # REINITIALIZE THE API
    translator = Translator()
    newrow = copy.deepcopy(row)
    try:
        # translate the 'text' column
        translated = translator.translate(row['text'], dest='en')
        newrow['translated'] = translated.text
    except Exception as e:
        print(str(e))
        continue
    translatedList.append(newrow)