2017-12-12 1 views
1

Ich möchte ein Programm in Python 3 erstellen, um herauszufinden, wie oft ein bestimmtes Wort in txt-Dateien angezeigt wird, und dann eine Excel-Tabelle mit diesen Werten zu erstellen. Ich habe diese Funktion gemacht, aber am Ende, wenn ich die Funktion abrufe und die Eingabe ablege, funktioniert das Programm nicht. Erscheinend diesen Satz: unindent keine Ebene äußere Vertiefung passtfinde Wörter in txt-Dateien Python 3

def wordcount(filename, listwords): 
    try: 

    file = open(filename, "r") 

    read = file.readlines() 
    file.close() 
    for x in listwords: 
     y = x.lower() 
     counter = 0 
     for z in read: 
      line = z.split() 
      for ss in line: 
       l = ss.lower() 
      if y == l: 
       counter += 1 

     print(y , counter)  

Jetzt versuche ich die Funktion mit einer TXT-Datei und das Wort zu erinnern

wordcount("aaa.txt" , 'word') 

Wie Ausgang zu finden Ich mag würde sehen

word 4  

danke an alle!

+1

Sie haben Einrückungsfehler. Insbesondere erfordern die 'try'-Anweisungen einen eingerückten Block, der diesem folgt. Verwenden Sie eine IDE wie [pycharm] (https://www.jetbrains.com/pycharm/download/), um Syntaxhinweise zu erhalten. – Arne

+0

Sie müssen 'Wort' als Liste übergeben, 'wordcount (" aaa.txt ", [" Wort "])'. Wie @ArneRecknagel sagte, müssen Sie die Einrückung im 'try' Block fixieren und danach einen' except' Block hinzufügen. – mij

Antwort

0

Hier ist ein Beispiel, das Sie verwenden können, um die Anzahl der Zeit zu finden, die ein bestimmtes Wort in einer Textdatei ist;

Die Ausgabe wird das Wort sein, das Sie suchen, und die Anzahl der Zeit, die es auftritt.

0

so kurz wie möglich:

def wordcount(filename, listwords): 
    with open(filename) as file_object: 
     file_text = file_object.read() 
     return {word: file_text.count(word) for word in listwords} 

for word, count in wordcount('aaa.txt', ['a', 'list', 'of', 'words']).items(): 
    print("Count of {}: {}".format(word, count)) 

Kommen wir zurück Kommentar zu mij der über listwofwords als aktuelle Liste übergeben: Wenn Sie eine Zeichenfolge an Code übergeben, die eine Liste erwartet, Python die Zeichenfolge als Liste interpretiert von Zeichen, die verwirrend sein können, wenn dieses Verhalten unbekannt ist.

Verwandte Themen