You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何将字符串格式的Emoji Unicode转换为对应实际名称

你遇到的是CSV存储时Unicode emoji码点被序列化为<U+十六进制码点>格式字符串的问题,只需两步即可完成转换:先将格式字符串还原为真实emoji,再通过工具库转换为对应的语义名称。


步骤1:安装依赖库

我们需要emoji库完成emoji到名称的转换,执行以下命令安装:

pip install emoji

步骤2:编写转换逻辑

下面是完整的处理代码,可直接嵌入你的现有流程:

import os
import pandas as pd
import re
import emoji

# 原有加载CSV的逻辑保持不变
def load_csv(csv_name):
    path = os.getcwd()
    df = pd.read_csv(path + "/" + csv_name, header=0, index_col=0, parse_dates=True, sep=",", encoding="utf-8")
    return df

# 新增转换函数:将<U+xxxx>格式字符串转为emoji
def u_notation_to_emoji(text):
    # 正则匹配所有<U+码点>片段
    pattern = re.compile(r'<U\+([0-9A-Fa-f]+)>')
    def replace_match(match):
        # 提取十六进制码点,转为整数后生成对应Unicode字符
        code_point = int(match.group(1), 16)
        return chr(code_point)
    return pattern.sub(replace_match, text)

# 读取CSV
csv_name = "tweets_nikekaepernick.csv"
df = load_csv(csv_name)

# 单条测试
text = df["tweet_full_text"].iloc[0]
# 先转成真实emoji
emoji_text = u_notation_to_emoji(text)
# 再转成语义名称,设置delimiters=('', '')可以去掉默认的前后冒号
emoji_name_text = emoji.demojize(emoji_text, delimiters=('', ''))

print(emoji_text)
# 输出:Hi 😂😂💀💀💀💀
print(emoji_name_text)
# 输出:Hi face_with_tears_of_joyface_with_tears_of_joyskullskullskullskull

批量处理全量推文

如果需要处理整列的推文内容,直接调用apply方法即可:

df['processed_text'] = df['tweet_full_text'].apply(u_notation_to_emoji).apply(lambda x: emoji.demojize(x, delimiters=('', '')))

内容的提问来源于stack exchange,提问作者eoterochio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 09:42:02