JSONDecodeError с py_translator (google-translate): как заставить библиотеку работать для новых переводов? - PullRequest
0 голосов
/ 20 ноября 2018

Я пытаюсь использовать Google Translate Api, чтобы перевести текст, содержащийся в огромном CSV-файле kaggle, который я преобразовал в dataframe.

Я пытался использовать googletrans, которая выдает эту ошибку:

AttributeError: 'NoneType' object has no attribute 'group'

, но, похоже, это повторяющаяся ошибка, как сообщалось здесь .

Я переключился на py_translator, который также использует Google Translate.Сначала она работала нормально, и я мог попробовать, как указано в руководстве, выполнить простую команду, подобную этой:

from py_translator import Translator
s = Translator().translate(text='Hello my friend', dest='es').text
print(s)

Однако после попытки применить ее к моему фрейму данных, который содержит 156 060 строк, потому что я, должно быть, забылAPI ограничен 5K или 15K, он полностью перестал работать, и я больше не могу запустить приведенный выше код, поскольку он всегда вызывает одну и ту же ошибку:

JSONDecodeError: Expecting value: line 1 column 1 (char 0)

код, который я использовал непосредственно перед тем, как столкнулся с этой ошибкойбыло:

df = pd.DataFrame(index=range(0,len(train)),columns=['translation'])
translator = Translator()
for i, row in enumerate(train['text']):
    df.loc[i,'translation'] = translator.translate(row,dest='Fr').text

Произошла ошибка, но первые строки кадра данных были правильно переведены.Однако с тех пор я не могу получить какой-либо результат, используя какие-либо функции py_translator, и это может быть связано с ограничениями, указанными здесь или здесь .

1) КакМожно ли повторно использовать перевод py_translator для простых запросов и не сталкиваться с одной и той же ошибкой снова и снова в коде, который раньше работал?

2) Есть ли лучшая библиотека или лучший способ перевести большой набор данных?

Большое спасибо

...