Python wörter zählen aus importierten Text?
Hey, wie zähle ich in Python in einem Text die vorhandenen wörter?
Die Datei beispiel.txt besteht aus einem großen englischen Text, allerdings zählt der mit diesem Code nicht die wörter.. wo liegt genau der Fehler?
Bin noch anfänger, also verstehe noch keine komplizierten Codes :P
with open('beispiel.txt', 'r') as file:
for line in file:
woerter= line.split()
count = 0
for wort in woerter:
if wort == 'a':
wort = wort.lower()
count += 1
print("Anzahl des Wortes 'a' sind", count)
3 Antworten
for line in file:
woerter= line.split()
Wenn Du immer in woeter zuweist, enthält woerter am Ende der Schleife lediglich die letzte Zeile.
Wenn wir die Grundlogin erhalten wollen:
for line in file:
woerter= line.split()
for wort in woerter:
....
Wozu soll eigentlich das Matching auf a (Artikel) gut sein?
Weil ich übersehen habe: Sinvollerweise machst Du ein lower() vor dem Matching, sonst ist das ziemlich sinnbefreit ;-).
>>> text = 'Hallo Welt'
>>> text_split = text.split()
>>> len(text_split)
2
>>> x = ''.join(text_split)
>>> len(x)
9
>>>
Oder ausführlich, aber mittels RegEx:
Du kannst ja statt Wörter einfach die Leerzeichen zählen und dann +1 rechnen. Geht vielleicht einfacher, statt Wörter zu zählen. Aber eigentlich habe ich gar keine Ahnung, wie das gehen soll.
Und wenn ich deinen Code richtig verstehe, er zählt doch nur die Wörter 'a' und keine anderen, oder?
Ja, es soll nur das englische Wort "a" gezählt werden, später möchte ich noch andere zählen, jetzt aber nur das Wort "a" allerdings zeigt er immer 0 an und nicht wieviele "a" im text sind :P
Ich möchte zählen wie oft es das englische Wort 'a' in dem Text gibt. Hätte man auch mit jedem anderen Wort machen können, habe mich nunmal für a entschieden