2016-04-07 8 views
-2

Ich habe 300 MB Meinungsdaten, die in einer Datei gespeichert ist.Gruppierung großer Textdaten in Bezug auf Emoji in Python

In diesen Meinungen gibt es 751 verschiedene Emoji-Strings. Wie kann ich diese Meinungen in Bezug auf Emoji gruppieren? Zum Beispiel 'Smiley_emoji' Liste sollte alle Meinungen, die Smiley Emoji haben.

was ich dachte ist;

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) 
    .... 

Und dann drucken Sie alle diese Emoji und ihre jeweiligen Meinungen.

Ich kann als ein Python-Neuling betrachtet werden. Da kann ich 751 If/Else-Anweisung und 751 verschiedene Listen nicht erstellen. Gibt es eine bequemere Möglichkeit, diese Daten in Bezug auf Emoji zu gruppieren?

Vielen Dank im Voraus

Edit: Emoji ist eine Art von String-Darstellung wie; smiley_emoji, sad_emoji usw. Daten werden in einer txt-Datei gespeichert und jede Meinung ist in einer Zeile wie z. Zeile1 enthält Opinion1 mit einem Emoji, Line2 enthält Opinion2 mit einem Emoji usw. Ich bin auf der Suche nach einem effizienten und intelligenten Weg, es zu tun. Vielen Dank.

+1

Das Anzeigen einiger Daten wäre hilfreich. – Hun

+0

In welcher Art von Datei sind die Daten gespeichert? Sind die Emoji-Strings eine Art von String-Darstellung von jedem Emoji oder ein Bild? – ivan7707

+0

Wenn Sie eine Liste aller Emojis haben, können Sie diese durchlaufen, anstatt 751 'if'-Anweisungen zu haben. –

Antwort

1

Etwas wie folgt aus:

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 

Sie würden jedoch bauen wahrscheinlich das emoji Wörterbuch aus einer Datei der möglichen Strings.

Abgesehen davon ist es nicht empfehlenswert, Fragen zu stellen, die so eng an Ihre spezifischen Bedürfnisse angepasst sind. Versuchen Sie, Ihr Problem zu lösen und darüber nachzudenken, wie es verallgemeinert wird. d. h., fragen Sie Programmierung Fragen, nicht Fragen zu einer bestimmten Aufgabe.