Python 3.x 未能在中应用unicode转义

Python 3.x 未能在中应用unicode转义,python-3.x,pandas,unicode-escapes,Python 3.x,Pandas,Unicode Escapes,通过删除字节码中令人讨厌的字符来清理推特数据集(exp:\xf0\x9f\x99\x82) 以下是不使用函数的代码: b = data_tweet['Tweet'] b.head() for i in b: x = i.encode('utf=8') y = x.decode('unicode-escape') print(y) 成功了。这个角色变成了:🙄, ðŸ¥等 但当我使用函数实现它时,为了在csv文件中转换它。它失败了。字节字符保持不变(exp:\xf

通过删除字节码中令人讨厌的字符来清理推特数据集(exp:\xf0\x9f\x99\x82) 以下是不使用函数的代码:

b = data_tweet['Tweet']
b.head()

for i in b:
    x = i.encode('utf=8')
    y = x.decode('unicode-escape')
    print(y) 
成功了。这个角色变成了:🙄, ðŸ¥等

但当我使用函数实现它时,为了在csv文件中转换它。它失败了。字节字符保持不变(exp:\xf0\x9f\x99\x82) 代码如下:

def convert(text):
    for i in text:
        x = i.encode('utf=8')
        y = x.decode('unicode-escape')
        
    return text

convert(data_tweet['Tweet']) 

有人知道原因吗?

问题是您实际上没有将结果分配给
数据\u tweet['tweet']
。您可以在Series上使用
apply()

def转换(文本):
x=text.encode('utf=8')
y=x.decode('unicode-escape')
返回y
数据_tweet['tweet']=数据_tweet['tweet']。应用(转换)

data_tweet['tweet']=data_tweet['tweet'].apply(lambda text:text.encode('utf=8')。decode('unicode-escape'))

谢谢,它成功了!