在Python 3中将拉丁语-1转换为UTF-8字符串时出错

在Python 3中将拉丁语-1转换为UTF-8字符串时出错,python,encoding,utf-8,text-processing,iso-8859-1,Python,Encoding,Utf 8,Text Processing,Iso 8859 1,我有一个文本数据集,pandas只能通过使用编码Latin-1导入,当我尝试使用其他编码时,它会导致错误。我想清除该数据集中的特殊字符。但是,这些特殊字符以十六进制形式出现,如下所示: AKU\n\nKU \xf0\x9f\x98\x84\xf0\x9f\x98\x84\xf0\x9f\x98\x84 然后我在另一个线程上看到,我可以通过将其解码为拉丁语-1,然后编码为UTF-8来消除这个问题。但它导致了如图所示的错误 x=data.iloc[5,0]。解码('iso-8859-1')。编码(

我有一个文本数据集,pandas只能通过使用编码Latin-1导入,当我尝试使用其他编码时,它会导致错误。我想清除该数据集中的特殊字符。但是,这些特殊字符以十六进制形式出现,如下所示:

AKU\n\nKU \xf0\x9f\x98\x84\xf0\x9f\x98\x84\xf0\x9f\x98\x84
然后我在另一个线程上看到,我可以通过将其解码为拉丁语-1,然后编码为UTF-8来消除这个问题。但它导致了如图所示的错误

x=data.iloc[5,0]。解码('iso-8859-1')。编码('utf8'))
---------------------------------------------------------------------------
AttributeError回溯(最近一次呼叫上次)
在()
1次打印(data.iloc[5,0])
---->2 x=data.iloc[5,0]。解码('iso-8859-1')。编码('utf8'))
3如果为真:
4 x=re.sub(“[\n\t]”,“”,x)
5 x=re.sub(“\d+”,“”,x)
AttributeError:“str”对象没有属性“decode”
基本上,我如何将其转换为UTF-8,以便在接下来的文本处理步骤中使用?或者有没有其他方法来摆脱那些不需要转换的人?多谢各位

您可以使用

导入编解码器
打印(codecs.decode(data.iloc[5,0],'unicode escape')。编码('latin1')。解码('utf-8'))
见:

导入编解码器
text=r'AKU\n\nKU\xf0\x9f\x98\x84\xf0\x9f\x98\x84\xf0\x9f\x98\x84'
打印(编解码器。解码(文本,'unicode转义')。编码('latin1')。解码('utf-8'))

#=>AKU\n\nKU它不是
latin1
,而是
utf-8
as
'AKU\n\nKU\xf0\x9f\x98\x84\xf0\x9f\x98\x84\xf0\x9f\x98\x84'。编码('latin1')。解码('utf-8')
返回
'AKU\n\nKU当我尝试用编码导入时,返回一个错误<代码>UnicodeDecodeError:“utf-8”编解码器无法解码位置1389处的字节0xf0:无效的连续字节