So kombinieren Sie mehrere CSV-Dateien mit 8 Codezeilen

Warum brauchst du das?

Das manuelle Einfügen von Kopien ist in Ordnung, wenn Sie nicht zu viele Dateien zum Arbeiten haben.

Aber stellen Sie sich vor, Sie müssen mehr als 100 Dateien verketten - sind Sie bereit, dies manuell zu tun? Dies wiederholt zu tun ist mühsam und fehleranfällig.

Wenn alle Dateien dieselbe Tabellenstruktur haben (gleiche Überschriften und Anzahl von Spalten), lassen Sie dieses winzige Python-Skript die Arbeit erledigen.

Schritt 1: Importieren Sie Pakete und legen Sie das Arbeitsverzeichnis fest

Ändern Sie "/ mydir" in das gewünschte Arbeitsverzeichnis.

import os import glob import pandas as pd os.chdir("/mydir")

Schritt 2: Verwenden Sie glob, um das Muster 'csv' abzugleichen.

Passen Sie das Muster ('csv') an und speichern Sie die Liste der Dateinamen in der Variablen 'all_filenames'. Sie können diesen Link überprüfen, um mehr über den Abgleich regulärer Ausdrücke zu erfahren.

extension = 'csv' all_filenames = [i for i in glob.glob('*.{}'.format(extension))]

Schritt 3: Kombinieren Sie alle Dateien in der Liste und exportieren Sie sie als CSV

Verwenden Sie Pandas, um alle Dateien in der Liste zu verketten und als CSV zu exportieren. Die Ausgabedatei heißt "kombiniert_csv.csv" und befindet sich in Ihrem Arbeitsverzeichnis.

#combine all files in the list combined_csv = pd.concat([pd.read_csv(f) for f in all_filenames ]) #export to csv combined_csv.to_csv( "combined_csv.csv", index=False, encoding="utf-8-sig")

encoding = 'utf-8-sig' wurde hinzugefügt, um das Problem beim Exportieren von 'Nicht-Englisch'-Sprachen zu beheben.

Und ... es ist geschafft!

Dieser Artikel wurde von meinem eigentlichen Alltagsproblem inspiriert und die Codierungsstruktur stammt aus einer Diskussion über den Stapelüberlauf. Das fertige Skript für diese Anleitung ist auf GitHub dokumentiert.

Danke fürs Lesen. Bitte probieren Sie es aus, haben Sie Spaß und teilen Sie mir Ihr Feedback mit!

Wenn dir gefällt, was ich getan habe, kannst du mir auf GitHub, Medium und Twitter folgen. Stellen Sie sicher, dass Sie es auf GitHub: P spielen