Python 类型错误:';int';对象不适用于GoogleTranslate API调用
我有一个代码,我需要用GoogleTranslateAPI翻译数据帧的特定列 下面是代码Python 类型错误:';int';对象不适用于GoogleTranslate API调用,python,pandas,translate,Python,Pandas,Translate,我有一个代码,我需要用GoogleTranslateAPI翻译数据帧的特定列 下面是代码 def TranslateText(text): #translator = Translator() translated_Text = translator.translate(text, src='tl', dest='en') #translated_Text = translated.text return translated_Text.text CaseDF[
def TranslateText(text):
#translator = Translator()
translated_Text = translator.translate(text, src='tl', dest='en')
#translated_Text = translated.text
return translated_Text.text
CaseDF['TRANSLATED_VOICE_OF_CUSTOMER'] = CaseDF['WOCAS'].apply(TranslateText)
此栏-“WOCAS”是客户之声,有超过1700行。没有NAN值
VOCAS中的示例值=[
“更新高朗容沙MGA巴贡宣传片《妈咪香江》和《妈咪香江》”,
“沃卡斯:夫人,我可以去巴卡尤吗?”
]
错误
++++++++++++
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-15-fb90a8ed562c> in <module>
----> 1 CaseDF['TRANSLATED_WOCAS'] = CaseDF['WOCAS'].apply(TranslateText)
~\Anaconda3\lib\site-packages\pandas\core\series.py in apply(self, func, convert_dtype, args, **kwds)
4198 else:
4199 values = self.astype(object)._values
-> 4200 mapped = lib.map_infer(values, f, convert=convert_dtype)
4201
4202 if len(mapped) and isinstance(mapped[0], Series):
pandas\_libs\lib.pyx in pandas._libs.lib.map_infer()
<ipython-input-14-ac56bb436f63> in TranslateText(text)
5 'translate.google.co.in',
6 ])
----> 7 translated_Text = translator.translate(text, src='tl', dest='en')
8 #translated_Text = translated.text
9 return translated_Text.text
~\Anaconda3\lib\site-packages\googletrans\client.py in translate(self, text, dest, src, **kwargs)
180
181 origin = text
--> 182 data = self._translate(text, dest, src, kwargs)
183
184 # this code will be updated when the format is changed.
~\Anaconda3\lib\site-packages\googletrans\client.py in _translate(self, text, dest, src, override)
76
77 def _translate(self, text, dest, src, override):
---> 78 token = self.token_acquirer.do(text)
79 params = utils.build_params(query=text, src=src, dest=dest,
80 token=token, override=override)
~\Anaconda3\lib\site-packages\googletrans\gtoken.py in do(self, text)
193 def do(self, text):
194 self._update()
--> 195 tk = self.acquire(text)
196 return tk
~\Anaconda3\lib\site-packages\googletrans\gtoken.py in acquire(self, text)
138 a = []
139 # Convert text to ints
--> 140 for i in text:
141 val = ord(i)
142 if val < 0x10000:
TypeError: 'int' object is not iterable
++++++++++++
---------------------------------------------------------------------------
TypeError回溯(最近一次调用上次)
在里面
---->1个CaseDF['TRANSLATED_WOCAS']=CaseDF['WOCAS']。应用(TranslateText)
应用中的~\Anaconda3\lib\site packages\pandas\core\series.py(self、func、convert\u dtype、args、**kwds)
4198其他:
4199值=self.astype(对象)。\u值
->4200映射=lib.map\u推断(值,f,convert=convert\u数据类型)
4201
4202如果len(映射)和isinstance(映射[0],系列):
熊猫\\u libs\lib.pyx在熊猫中。_libs.lib.map\u infere()
在TranslateText(文本)中
5‘translate.google.co.in’,
6 ])
---->7 translated_Text=translator.translate(Text,src='tl',dest='en')
8#translated_Text=translated.Text
9返回已翻译的\u Text.Text
翻译中的~\Anaconda3\lib\site packages\googletrans\client.py(self、text、dest、src、**kwargs)
180
181来源=文本
-->182数据=自译(文本、目的地、src、kwargs)
183
184#此代码将在格式更改时更新。
~\Anaconda3\lib\site packages\googletrans\client.py in\u translate(self、text、dest、src、override)
76
77 def_translate(self、text、dest、src、override):
--->78 token=self.token\u收单机构.do(文本)
79 params=utils.build_params(query=text,src=src,dest=dest,
80令牌=令牌,覆盖=覆盖)
do中的~\Anaconda3\lib\site packages\googletrans\gtoken.py(self,text)
193 def do(自我,文本):
194自我更新()
-->195 tk=自获取(文本)
196返回tk
获取中的~\Anaconda3\lib\site packages\googletrans\gtoken.py(self,text)
138 a=[]
139#将文本转换为整数
-->140对于文本中的i:
141瓦尔=作战需求文件(一)
142如果val<0x10000:
TypeError:“int”对象不可编辑
++++++++++++
addprint(text)
在TranslateText
函数顶部添加print(text)
并告诉我们它何时崩溃,很可能您在WOCAS中有一些int值,
与提供的示例一样,所有这些都应该正常运行。这是来自Google Translate PyPi软件包。我无法在其中添加打印语句。TranslateText不是您的函数吗?我怀疑…是的,我明白了。但是任何类型的翻译系统都应该注意翻译偶数整数,如果找不到翻译。。就这样离开吧。我想,我会尝试通过清理数据来删除“\n”和“numerics”。好吧,最后一个函数aquire()试图将文本(字符串数组/句子/)转换为整数,但变量text根据错误设置为整数,因此似乎在某个地方有一个int,这就是为什么我建议您打印文本以查看它何时崩溃