Ошибка Python Google Translate API
Я очень новичок в Python и пытаюсь перевести несколько ключевых слов с помощью Google API. У меня есть файл Excel с 3000 ключевыми словами, которые являются смесью английского, испанского, немецкого и т. Д. Попытка перевести все на английский.
Однако каждый раз, когда я запускаю свой код, я получаю ошибку с разными значениями. Иногда мой код выдает ошибку по 810-му ключевому слову, а иногда выдает ошибку по 1038-му ключевому слову. И я даже не редактирую макет файла.
JSONDecodeError: Ожидаемое значение: строка 1, столбец 1 (символ 0)
Ниже мой код:
from googletrans import Translator
import pandas
import math
import time
df = pandas.read_excel(r'Desktop/python_keywords.xlsx')
keywords = df['Keywords']
Translate = []
translator = Translator()
for i in range(0,len(keywords)):
word = translator.translate(str(keywords[j])).text
Translate.append(word)
2 ответа
Обычно эта ошибка происходит из-за ограничения в 15 КБ в Googletrans API.
JSONDecodeError: Ожидаемое значение: строка 1, столбец 1 (символ 0)
Рассмотрите возможность уменьшения количества символов.
Какая строка вашего кода дает вам эту ошибку? Посмотрите на трассировку ошибок
Давайте начнем с ваших итераторов: он объявлен как i
, но тогда вы используете j
, Затем проверьте длину вашего запроса. Он не должен быть длиннее 5 тыс. Символов в соответствии с JSONDecodeError с использованием Google Translate API с Python3.
Во всяком случае, похоже, что API отвечает с пустым JSON, и вы должны добавить хотя бы try .. except
чтобы избежать этой ошибки, вот что:
try:
word = translator.translate(str(keywords[j])).text
except JSONDecodeError as err:
print(err) # if you want to see when error happens
else:
Translate.append(word)