Я могу перевести одно слово за раз, используя googletrans, но не весь столбец данных. Ниже мой код:
from googletrans import Translator
translator = Translator()
translated= translator.translate('田中医院')
print(translated)
print(translated.text)
hospital_group_by_trans = hospital_group_by.apply(lambda x : `translator.translate(x) if x.name =='Facility/ Hospital Name' else x)`
С другой стороны, если я использую код ниже, используя applymap:
hospital_group_by_trans = hospital_group_by.applymap(lambda x : translator.translate(x) )
Я получаю:
File "C:\ProgramData\Anaconda3\lib\json\decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
JSONDecodeError: Expecting value
Ниже приведено сообщение об ошибке, которое я получаю при использовании apply () (фрагмент кода 1):
hospital_group_by_trans = hospital_group_by.apply (лямбда-x: translationator.translate (x), если x.name == 'Facility / Hospital Имя 'иначе x) Traceback (последний вызов был последним):
Файл "", строка 1, в hospital_group_by_trans = hospital_group_by.apply (лямбда x: translationator.translate (x), если x.name ==' Facility / Имя больницы 'иначе x)
Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ pandas \ core \ frame.py", строка 6004, в применении return op.get_result ()
Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ pandas \ core \ apply.py", строка 318, в get_result возвращает super (FrameRowApply, self) .get_result ()
Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ pandas \ core \ apply.py", строка 142, в get_result возвращает self.apply_standard ()
Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ pandas \ core \ apply.py", строка 248, в apply_standard self.apply_series_generator ()
Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ pandas \ core \ apply.py", строка 277, в результатах apply_series_generator [i] = self.f (v)
File " ", строка 1, в hospital_group_by_trans = hospital_group_by.apply (лямбда x: translationator.translate (x), если x.name == 'Название учреждения / больницы', иначе x)
Файл" C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ googletrans \ client.py ", строка 172, в translate data = self._translate (text, dest, sr c)
File" C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ googletrans \ client.py ", строка 75, в _translate token = self.token_acquirer.do (текст)
Файл" C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ googletrans \ gtoken.py ", строка 201, в do tk = self.acquire (text)
Файл" C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ googletrans \ gtoken .py ", строка 147, я n приобрести val = ord (i)
TypeError: ('ord () ожидал символ, но найдена строка длиной 4', 'произошла в индексе Facility / Hospital Name')