我想使用谷歌翻译包在我的pandas数据框架内翻译一个名为TranslatedText的列,它可以检测语言并将其转换为英语。我已经尝试了下面的代码。加载和编码文件工作正常,但我在翻译阶段不断收到以下错误:
TypeError:JSON对象必须是str、字节或字节数组,而不是NoneType
pip install googletrans==4.0.0rc1
import pandas as pd
import googletrans
from googletrans import Translator
translator = Translator()
file = r'file_path.csv'
df = pd.read_csv(file,encoding="ISO-8859-1")
df['TranslatedText'] = df['TranslatedText'].apply(lambda x: translator.translate(x, src='auto', dest='en').text )
TypeError: the JSON object must be str, bytes or bytearray, not NoneType
代码似乎不完整
- df未定义
- 熊猫模块未导入
我通过导入pandas模块和一个示例字典测试了同样的代码,发现它可以工作。
import googletrans
from googletrans import Translator
import pandas as pd
translator = Translator()
langdict = {0: {'English': 'Hello', 'Japanese': 'こんにちは'}, 1: {'English': 'Thanks', 'Japanese': 'ありがとう'}}
df = pd.DataFrame(langdict).T
df['TranslatedText'] = df['Japanese'].apply(lambda x: translator.translate(x, src='auto', dest='en').text )
print(df)
英语 | 日语 | 翻译文本|
---|---|---|
你好 | こんにちは | 你好 |
谢谢 | ありがとう | 谢谢 |