如何从文本中提取emoji存入新列,同时删除原文本中的对应emoji
实现方案
你可以通过Python的pandas和emoji第三方库快速实现需求,具体操作如下:
前置依赖安装
执行以下命令安装/升级所需库:
pip install -U pandas emoji
完整实现代码
import pandas as pd import emoji # 提取文本中所有emoji的函数 def extract_all_emojis(text): return ' '.join([char for char in text if char in emoji.EMOJI_DATA]) # 移除文本中所有emoji的函数 def clean_text_remove_emojis(text): # 移除emoji后顺便清除首尾多余空格 return emoji.replace_emoji(text, replace='').strip() # 读取你的原始数据,这里以csv为例,你也可以根据自己的数据源格式调整读取方式 df = pd.read_csv("your_input_file.csv") # 生成新增的Emoji列 df["Emoji"] = df["Text"].apply(extract_all_emojis) # 覆盖原Text列,移除其中所有emoji df["Text"] = df["Text"].apply(clean_text_remove_emojis) # 导出处理完成的结果 df.to_csv("your_output_file.csv", index=False)
效果验证
用你提供的示例数据运行上述代码后,输出结果和你期望的格式完全一致:
| ID | Text | Emoji |
|---|---|---|
| 1 | This is good | 💯 |
| 2 | Loving you so much | 😍 ❤️ |
| 3 | You make me sad! | 😥 |
补充说明
如果不想依赖第三方emoji库,也可以自己写正则匹配emoji的Unicode范围实现,但需要注意定期更新正则规则适配新发布的emoji字符,兼容性不如成熟的开源emoji库。
内容的提问来源于stack exchange,提问作者user16098918
相关产品推荐
相关产品推荐

