2016-10-04 5 views
0

Ich versuche, die Buchstaben nur aus einer Textdatei zu zählen. Ich möchte Interpunktionen und Leerzeichen ausschließen. Hier ist, was ich bisher habe. Ich habe nach Möglichkeiten gesucht, dies zu tun, aber ich bekomme immer Fehler, wenn ich versuche, bestimmte Charaktere auszuschließen. Jede Hilfe wird sehr geschätzt.Python Anzahl der Buchstaben aus Textdatei erstellen

#Read Text Files To Memory 
with open("encryptedA.txt") as A: 
    AText = A.read() 
with open("encryptedB.txt") as B: 
    BText = B.read() 

#Create Dictionary Object 
from collections import Counter 
CountA = Counter(AText) 
print(CountA) 
CountB = Counter(BText) 
print(CountB) 
+1

Vielleicht möchten Sie 'Zähler (c für c in AText wenn c.isalnum())' –

Antwort

0

Sie sind auf dem richtigen Weg, aber Sie wollen die Text-Datei auf Zeichen filtern, die alphabetisch sind (unter Verwendung von isalpha()) oder alphanumerischen Zeichen (mit isalnum()):

from collections import Counter 
with open('data.txt') as f: 
    print (Counter(c for c in f.read() if c.isalpha())) # or c.isalnum() 

Für meine Probe Datei, diese Drucke:

Counter({'t': 3, 'o': 3, 'r': 3, 'y': 2, 's': 2, 'h': 2, 'p': 2, 'a': 2, 'g': 1, 'G': 1, 'H': 1, 'i': 1, 'e': 1, 'M': 1, 'S': 1}) 
+0

@dawg Das ist nicht, zumindest in Python funktioniert 3. Sie würden tun müssen, 'c für Linie in f für c in Linie' – brianpck

Verwandte Themen