在 Python 中根据表情符号对大文本数据进行分组

Grouping large text data with respect to emoji in Python

我有 300MB 意见数据存储在一个文件中。

在这些意见中有 751 个不同的表情符号字符串。我如何对表情符号的这些意见进行分组?例如 'Smiley_emoji' 列表应包括所有带有笑脸表情符号的意见。

我想的是;

for opinion in opinionsArray:
    if smiley_emoji in opinion:
       smiley_emoji_arr.append(opinion)
    elif sad_emoji in opinion:
       sad_emoji_arr.append(opinion)
    elif other_emoji in opinion:
       other_emoji_arr.append(opinion)
    ....

然后打印所有这些表情符号及其各自的意见。

我算是Python新手。 因为我无法创建 751 if/else 语句和 751 个不同的列表。 有没有更方便的方法来根据表情符号对这些数据进行分组?

提前致谢

编辑: 表情符号是一种字符串表示形式,例如; smiley_emoji、sad_emoji 等。数据存储在一个 txt 文件中,每个意见都是一致的,例如; 第 1 行包含带有表情符号的意见 1,第 2 行包含带有表情符号的意见 2,等等。 我正在寻找一种高效而聪明的方法来做到这一点。谢谢

像这样:

opinions = ['hello :)', 'world ;)']

emoji = {
    ':)': [],  # smile
    ';)': []   # wink
}

for i in opinions:
    for k, v in emoji.items():
        if k in i:
            v.append(i)
            break  # assuming opinions don't have multiple emoji

但是,您可能会从可能的字符串文件构建 emoji 字典。

顺便说一句,根据您的特定需求提出如此狭隘的问题并不是最佳做法。试着分解你的问题并思考它是如何概括的。即,提出 编程 问题,而不是关于特定任务的问题。