在文件中提取的推文中计算表情符号的数量

时间:2017-04-01 09:45:42

标签: python regex python-3.x unicode emoticons

我在csv文件中删除了许多推文(utf-8)。我试图运行一个python代码来计算每个推文中的表情符号数量。表情符号出现在文件中如下: -  DY”©DY”©DY”©DY”©DY”©

现在我不知道如何识别这些。 我试图将整个tring转换为unicode,然后通过以下代码计算它们:   s=str(strs, "unicode") print(s) print(strs) emoti = re.finditer(r'[\U0001f600-\U0001f650]', s) count = sum(1 for _ in emoti)

但它给出了错误,因为不支持解码str 我不能再收集所有的推文,我需要数不。同一组推文上的表情符号。任何人都可以告诉他们如何去做吗? 在此先感谢

1 个答案:

答案 0 :(得分:0)

如果您拥有此字符串:

'💩💩💩💩💩'

使用错误的编解码器解码。它看起来像cp1252(Windows ANSI默认值)。使用不正确的编码对其进行重新编码,然后使用utf8对其进行解码。更好的是,修复错误解码的来源。

>>> '💩💩💩💩💩'.encode('cp1252')
b'\xf0\x9f\x92\xa9\xf0\x9f\x92\xa9\xf0\x9f\x92\xa9\xf0\x9f\x92\xa9\xf0\x9f\x92\xa9'
>>> '💩💩💩💩💩'.encode('cp1252').decode('utf8')
''

不幸的是,表情符号没有单一范围的Unicode字符。请参阅unicode.org网站上的emoji-test.txt。该特定字符为U + 1F4A9,超出了您在示例代码中指定的Unicode范围。