【问题标题】:AttributeError: 'NoneType' object has no attribute 'group' from Google translate API using pandas dataframeAttributeError:“NoneType”对象没有使用 Pandas 数据框的 Google 翻译 API 的属性“组”
【发布时间】:2021-08-08 19:03:56
【问题描述】:

当我使用来自here 的代码时,我有一个包含多个列的数据框,包括一个文本列 即:

import pandas as pd
from googletrans import Translator

translator = Translator(service_urls=['translate.google.com',])

df["translate_result"] = df["to_translate"].apply(lambda x: translator.translate(x, src= "en", dest = "fr").text)

我收到错误消息:

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

我尝试使用服务 url 更新翻译功能,但似乎不是问题。这里可能是什么问题?谢谢。

【问题讨论】:

  • 所以我目前正在尝试另一种解决方案:pythonrepo.com/repo/… using #deep-translator-1.5.0
  • 您是否真正检查过数据列的所有元素是否都具有非无的 .text 属性?
  • 是的,在测试@Ricco D 的解决方案时出现同样的错误

标签: python pandas google-translate


【解决方案1】:

我在使用 googletrans v3 时遇到了同样的错误,然后我为这个错误找到了 open github issue。建议的修复方法是使用 版本googletrans-4.0.0rc1-py3.9.egg-info

pip install 'googletrans==4.0.0rc1'

translate.py:

from googletrans import Translator
import pandas as pd

translator = Translator()

df = pd.DataFrame({'Spanish':['piso','cama']})
df['English'] = df['Spanish'].apply(translator.translate, src='es', dest='en').apply(getattr, args=('text',))
print(df)

我运行了您在问题中提供的code from the link 并得到了预期的结果。

测试完成:

【讨论】:

  • 您提供的解决方案和代码会产生错误消息:AttributeError: 'NoneType' object has no attribute 'group'。任何想法为什么?谢谢。
  • 在 python 3.9 .py env 中测试后,您提供的代码有效。上面的评论来自使用 jupyter notebook
  • 另一个git issue建议使用googletrans==3.1.0a0。你也可以试试这个。
  • 在哪里可以找到使用此包翻译的字数限制?谢谢。
  • @brygid 最好为您关于字数限制的问题创建一个新帖子,因为它与原始问题无关。创建一个新问题也将为社区提供一个贡献的机会:)
猜你喜欢
  • 2021-11-26
  • 2018-12-09
  • 1970-01-01
  • 1970-01-01
  • 2019-09-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多