Text-Dateien einlesen

T

Mit dem folgenden kleinen Programm wird eine Datei eingelesen und in verschiedenen Formen wieder ausgegeben.

# Klasse um Datei zu laden und 
class FileReader():
    # Initialisierung der Klasse
    def __init__(self, file):
        # Definition der Liste (gehört nur der Klasse)
        self.importedFile = []
        # Datei öffnen mit "with open" -> Datei wird automatisch geschlossen
        with open(file,"r") as openfile:
            # Zeile für Zeile durchgehen
            for line in openfile:
                # Zeileninhalt (ohne Steuerzeichen) nacheinander in die Liste einfügen
                self.importedFile.append(line.strip())

    # Methode zum abrufen der Liste
    def getfile(self):
        return self.importedFile

# Klasse um csv einzulesen
class CsvReader(FileReader):
    # Initialisierung der Klasse
    def __init__(self, file):
        # super() greift auf die überschriebenen geerbten Methoden der Klasse FileReader zu
        # super() wird in untergeordneten Klassen (mit Mehrfachvererbung) verwendet,
        # dadurch kann auf Funktionen der Klasse zugegriffen werden (z.B. getFile() ).
        super().__init__(file)
        # Aufruf der Methode
        self.transformToCsv()

    def transformToCsv(self):
        # neue Liste initialisieren
        csv = []
        # Zeile für Zeile durchgehen
        for line in self.importedFile:
            # jedes ELement in neue Liste
            entity = []
            # entfernen von Steuerzeichen und Trennung der Wörter beim Komma
            splitted = line.strip().split(",")
            # Variablen aus den Daten ziehen
            firstName = splitted[1][1:]
            surname = splitted[0]
            # Daten in die "untergeordnete" Element-Liste eintragen
            entity.append(firstName + ", " + surname)
            # Daten in die csv-Liste schreiben
            csv.append(entity)
            # Rückgabe der gesamten csv-Liste
        return csv

    def getfile(self):
        # Methode zum abrufen der csv-Liste
        return self.transformToCsv()

test = FileReader("testfile.txt").getfile()
print(test)
# Ausgabe: ['Nachname, Vorname', 'Meister, Ingo', 'Schuster, Manfred', 'Mueller, Hans', 'Schmidt, Klaus']
test2 = CsvReader("testfile.txt").getfile()
print(test2)
# Ausgabe: [['Vorname, Nachname'], ['Ingo, Meister'], ['Manfred, Schuster'], ['Hans, Mueller'], ['Klaus, Schmidt']]

Über den Autor

Christian

Hi, mein Name ist Christian. Ich bin ein ehemaliger Softwareentwickler, der seine Berufung seit nun schon mehreren Jahren im Digital Marketing gefunden hat. Couchidee ist mein kleines privater und digitales Notizbuch / Blog.

#OstThüringen #Gründer #KreativKopf #DigitalMarketing #Development

Kommentar hinzufügen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Über mich

Hi, mein Name ist Christian. Ich bin ein ehemaliger Softwareentwickler, der seine Berufung seit nun schon mehreren Jahren im Digital Marketing gefunden hat. Couchidee ist mein kleines privater und digitales Notizbuch / Blog.

#OstThüringen #Gründer #KreativKopf #DigitalMarketing #Development