提取列表中的 Unicode-Emoticons,Python 3.x
Extract Unicode-Emoticons in list, Python 3.x
我处理一些推特数据,我想过滤列表中的表情符号。数据本身是用 utf8 编码的。
我像这三个示例行一样逐行读取文件:
['This', 'is', 'a', 'test', 'tweet', 'with', 'two', 'emoticons', '', '⚓️']
['This', 'is', 'another', 'tweet', 'with', 'a', 'emoticon', '']
['This', 'tweet', 'contains', 'no', 'emoticon']
我想收集这样的每行表情:
['', '⚓️']
等等。
我已经研究并发现 python 中有一个 'emoji' 包。我试着像那样在我的代码中使用它
import emoji
with open("file.txt", "r", encoding='utf-8') as f:
for line in f:
elements = []
col = line.strip('\n')
cols = col.split('\t')
elements.append(cols)
emoji_list = []
data = re.findall(r'\X', elements)
for word in data:
if any(char in emoji.UNICODE_EMOJI for char in word):
emoji_list.append(word)
第一次尝试
import emoji
with open("file.txt", "r", encoding='utf-8') as f:
for line in f:
elements = []
col = line.strip('\n')
cols = col.split('\t')
elements.append(cols)
emoji_list = []
for c in elements:
if c in emoji.UNICODE_EMOJI:
emojilist.append(c)
第二次尝试
我尝试了此处给出的示例 ,但它们有点不适合我,我不确定我做错了什么。
非常感谢任何帮助提取表情符号的帮助,在此先感谢! :)
表情符号存在于几个 Unicode 范围内,由这个正则表达式模式表示:
>>> import re
>>> emoji = re.compile('[\u203C-\u3299\U0001F000-\U0001F644]')
您可以使用它来过滤您的列表:
>>> list(filter(emoji.match, ['This', 'is', 'a', 'test', 'tweet', 'with', 'two', 'emoticons', '', '⚓️']))
['', '⚓️']
N.B.: 该模式是一个近似值,可能会捕获一些额外的字符。
我处理一些推特数据,我想过滤列表中的表情符号。数据本身是用 utf8 编码的。 我像这三个示例行一样逐行读取文件:
['This', 'is', 'a', 'test', 'tweet', 'with', 'two', 'emoticons', '', '⚓️']
['This', 'is', 'another', 'tweet', 'with', 'a', 'emoticon', '']
['This', 'tweet', 'contains', 'no', 'emoticon']
我想收集这样的每行表情:
['', '⚓️']
等等。
我已经研究并发现 python 中有一个 'emoji' 包。我试着像那样在我的代码中使用它
import emoji
with open("file.txt", "r", encoding='utf-8') as f:
for line in f:
elements = []
col = line.strip('\n')
cols = col.split('\t')
elements.append(cols)
emoji_list = []
data = re.findall(r'\X', elements)
for word in data:
if any(char in emoji.UNICODE_EMOJI for char in word):
emoji_list.append(word)
第一次尝试
import emoji
with open("file.txt", "r", encoding='utf-8') as f:
for line in f:
elements = []
col = line.strip('\n')
cols = col.split('\t')
elements.append(cols)
emoji_list = []
for c in elements:
if c in emoji.UNICODE_EMOJI:
emojilist.append(c)
第二次尝试
我尝试了此处给出的示例
非常感谢任何帮助提取表情符号的帮助,在此先感谢! :)
表情符号存在于几个 Unicode 范围内,由这个正则表达式模式表示:
>>> import re
>>> emoji = re.compile('[\u203C-\u3299\U0001F000-\U0001F644]')
您可以使用它来过滤您的列表:
>>> list(filter(emoji.match, ['This', 'is', 'a', 'test', 'tweet', 'with', 'two', 'emoticons', '', '⚓️']))
['', '⚓️']
N.B.: 该模式是一个近似值,可能会捕获一些额外的字符。