属性错误:使用谷歌翻译器时'NoneType'对象没有属性'group'



我有波兰语的pandas数据帧列,想翻译成英语,但我遇到了错误。以下代码:

from googletrans import Translator
translator = Translator()
df['text_en'] = df2['text_pl'].apply(translator.translate, src='pl', dest='en')

以下错误:

63 
64         # this will be the same as python code after stripping out a reserved word 'var'
---> 65         code = unicode(self.RE_TKK.search(r.text).group(1)).replace('var ', '')
66         # unescape special ascii characters such like a x3d(=)
67         if PY3:  # pragma: no cover
AttributeError: 'NoneType' object has no attribute 'group'

我不知道你是否已经解决了你的问题,但我也经历了同样的事情。我发现了模块google_trans_new。你应该试试:

pip install google_trans_new

翻译部分:

from google_trans_new import google_translator  

translator = google_translator()  
translate_text = translator.translate('首先感谢我的父母他们对我的关爱',lang_tgt='en')  

哪个返回:

'First of all thank my parents for their love'

用于检测:

from google_trans_new import google_translator  

detector = google_translator()  
detect_result = detector.detect('首先感谢我的父母他们对我的关爱')

它给出

['zh-CN', 'chinese (simplified)']

在你的情况下,它可能会这样工作:

detector = google_translator()  
def detect(x):
try:
detected_language = detector.detect(x)
except:
detected_language = None
return detected_language
df['language detected'] = df2['text_pl'].apply(detect)

检测语言(如果你不确定所有语言都是英语或波兰语(。

并以类似的方式进行翻译。(参见上面的示例(。我是这样做的:

Translationlist = df2['text_pl'].unique()
LANGT = []
for lang in Translationlist :
try:
translate_text = translator.translate(lang, lang_tgt='en') 
except:
translate_text = None
LANGT.append(translate_text)

然后将其与原始数据帧合并。(选择理由:40种语言和一些"奇怪"的文本,我不确定是否可以翻译(,但你可能不需要这样做。

相关内容

  • 没有找到相关文章

最新更新