Python Text Cleaning - HELP

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
marieteres
User
Beiträge: 1
Registriert: Montag 30. März 2020, 14:00

Hallo Alle,

ich schlage mich gerade mit Python rum und muss für meine Masterarbeit ein paar Tweets analysieren.
Dazu muss ich erstmal diese "cleanen". Mein Code ist im Moment wie folgt:

Code: Alles auswählen

import pandas as pd
df = pd.read_excel("Allianz_Test.xlsx")

df['Text'] = df['Text'].astype('string')

tweets = []
tweets = list(df["Text"])
tweets[0:]
result = ";".join(tweets[0:])
result_lower = result.lower()

import re
result_URL = re.sub('((www\.[^\s]+)|(https?://[^\s]+))',"", result_lower)
result_AT = re.sub('@[^\s]+',"", result_URL)
result_Hash = re.sub(r'#([^\s]+)', r'\1', result_AT)

from nltk.corpus import stopwords
stop_words = set(stopwords.words('english'))
from nltk.tokenize import word_tokenize
tokens = word_tokenize(result_Hash)
result1 = [i for i in tokens if not i in stop_words]
Ist nicht der schönste Code, aber tut eigentlich was er soll. Mein Problem ist nur, dass ich aus meiner Exceltabelle keine Liste in Liste hinbekomme. Also das jeder Tweet eine Liste ist und alle in einer Liste abgespeichert sind.
Ohne das wird es bei der tokenize Phase sehr unsauber, weil alles durcheinander ist und ich damit nicht wirklich weiterarbeiten kann.
Ich würde mich freuen, wenn mir jemand weiterhelfen kann, komme mit Googeln und Büchern nicht weiter.

Tausend Dank!!
Teresa
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

Importe gehören an den Anfang der Datei.
Die erste Zuweisung einer leeren Liste an `tweets` ist unsinnig, da sie in der nächsten Zeile schon wieder überschrieben wird.
`tweets[:0]` ist auch unsinnig, weil mit dem Resultat nichts gemacht wird. [0:] ist in der nächsten Zeile auch unsinnig, weil Du ja damit nur wieder eine Kopie der ganzen Liste machst, die aber gar nicht gebraucht wird.
Und dann kommt schon Dein Problem: Du packst dann die Liste aller Texte in einen String. Laut eigener Aussage willst Du das aber gar nicht. Dann lass das sein.
Antworten