使用 Pandas 进行文本翻译

Text translation with Pandas

我正在尝试使用 python 翻译包含不同语言的不同文本的文本列。我的代码还没有什么特别之处。

import pandas as pd
df = pd.read_excel('D:/path', head=None)

我使用了以下代码:

from googletrans import Translator
translator = Translator()
df['Text to English'] = df['Text'].apply(translator.translate, src='id', dest='en')

但它给了我一个错误:

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

我搜索了更多其他代码,然后想到了:

from textblob import TextBlob
df['Text to English'] = df['Text'].str.encode('ascii', 'ignore').apply(lambda x: TextBlob(x.strip()).translate(to='en'))

但它给了我一个错误:TypeError: cannot use a string pattern on a bytes-like object

有什么解决办法吗??提前致谢

我认为有 NoneNaNs 个值,因此可以通过 notna:

过滤它们
mask = df['Text'].notna()
df.loc[mask,'Text to English'] = df.loc[mask, 'Text'].apply(translator.translate, 
                                                            src='id', dest='en')