Konsolidieren Sie eine große Anzahl von CSV-Dateien in Ordnern mit Python (Daten ohne Header).
Einführung
- Integrieren Sie eine große Anzahl von CSV-Dateien in eine CSV-Datei.
Vorbereitungen
- Bereiten Sie Daten ohne CSV-Dateikopf vor.
- Sammeln Sie die CSV-Dateien, die Sie in einen Ordner integrieren möchten.
- Geben Sie den Namen der Ausgabedatei des Integrationsergebnisses an.
Code
import csv, os
import pandas as pd
#Geben Sie den Ordner an, der die CSV-Datei enthält(1)Referenz
csv_folder_path = os.path.join(".","csv_folder", "headerRemoved")
#Holen Sie sich eine Liste der Dateinamen im Listenformat
csv_files_list = os.listdir(csv_folder_path)
#Erstellen Sie eine Liste, um die Zeilen in allen CSV-Dateien zu speichern
csv_rows=[]
#Geben Sie den Dateinamen aus der zu lesenden Dateiliste an und csv alle Zeilen_In Zeilenliste speichern.
for csv_filename in csv_files_list:
csv_file_obj = open(os.path.join(csv_folder_path, csv_filename))
reader_obj = csv.reader(csv_file_obj)
for row in reader_obj:
csv_rows.append(row)
csv_file_obj.close()
#Liste in Datenrahmentyp konvertieren.
df = pd.DataFrame(csv_rows)
#Geben Sie den zu exportierenden Spaltenbereich an (nur 0 bis 44).(3)Exportbereich
df = df.iloc[:,range(0,44)]
#Konvertieren Sie den Datenrahmen in CSV und speichern Sie ihn(2)Name der Ausgabedatei
df.to_csv(os.path.join(".","merged_file.csv"), index=False)
Kommentar
- Holen Sie sich eine Liste der Dateinamen aus dem Ordner, der die CSV-Datei enthält
--Erstellen Sie für jede Datei ein Dateiobjekt gemäß der Dateinamenliste, erstellen Sie daraus ein Reader-Objekt und lesen Sie zeilenweise Zeilen aus der Datei.
- Wiederholen Sie alle Dateien und sammeln Sie schließlich alle Zeilen aller Dateien in einer Liste
--Konvertieren Sie die Liste vor dem Export in den DataFrame-Typ.
- Hier wird der Spaltenbereich angegeben, der vor dem Export benötigt wird.
- Schreiben Sie abschließend in die CSV-Datei mit dem in pd.to_csv angegebenen Dateinamen. Zu diesem Zeitpunkt wird der Index nicht durch Setzen von index = False geschrieben.
Impressionen
- Übrigens können Sie, da es in df konvertiert ist, nur die Anzeige einer beliebigen Spalte abrufen.
Die 12. und 38. Spalte können in dieser Reihenfolge wie folgt angegeben werden.
df.iloc[:,[38,12]]
――Nächste möchte ich verschiedene Diagramme von df zeichnen.