将数据框列转换为英文文本

时间:2021-06-25 03:18:54

标签: python-3.x pandas google-translate re

我正在尝试将一列转换为英语,但我得到了 AttributeError: 'NoneType' 对象没有属性 'group'。

这是我的代码:

from googletrans import Translator
translator = Translator()
df['Name'] = df['Name'].apply(translator.translate, dest='en')

姓名

สวัสดีจีน

日本国)

日本の会社

1 个答案:

答案 0 :(得分:0)

该库的某些较新版本似乎存在已知问题。请运行以下代码以安装工作版本并重新启动内核:

pip install googletrans==3.1.0a0

#this also may work for a working newer version:
pip install googletrans==4.0.0-rc1

然后,运行以下代码以确认它正在工作。这为我解决了。归功于此答案 (Moritz's Answer):

import pandas as pd
from googletrans import Translator
df = pd.DataFrame({'Name': {0: 'สวัสดีจีน', 1: '日本国)', 2: '日本の会社'}})
translator = Translator()
df['Name2'] = df['Name'].apply(lambda x: translator.translate(x, dest='en').text)
df
Out[1]: 
        Name             Name2
0      สวัสดีจีน       hello china
1       日本国)            Japan)
2      日本の会社  Japanese company