CSV-Dateien in Python zusammenführen
-
Kombinieren Sie mehrere CSV-Dateien in einem einzigen Pandas
DataFrame
durch Zusammenführen nach Namen -
Zusammenführen mehrerer CSV-Dateien in einem einzigen Pandas
DataFrame
durch Zusammenführen aller Felder - Abschluss
Beim Arbeiten mit einem großen Datensatz in Form von .csv-Dateien in Pandas DataFrame
kann es vorkommen, dass eine einzelne Datei nicht die vollständigen Informationen für die Datenanalyse enthält. In diesem Fall müssen wir mehrere Dateien in einem einzigen Pandas DataFrame
zusammenführen. Die Python-Pandas-Bibliothek bietet verschiedene Methoden, um dieses Problem zu lösen, wie zum Beispiel concat
, merge
und join
.
In diesem Handbuch lernen wir zwei verschiedene Methoden zum Zusammenführen der mehreren .csv-Dateien zu einem einzigen Pandas DataFrame anhand verschiedener Beispiele kennen.
Kombinieren Sie mehrere CSV-Dateien in einem einzigen Pandas DataFrame
durch Zusammenführen nach Namen
Um mehrere CSV-Dateien zusammenzuführen, importieren wir zunächst die Pandas-Bibliothek und legen die Dateipfade fest. Anschließend werden mit der Methode pd.read_csv()
alle CSV-Dateien gelesen. Das pd.concat()
nimmt die gemappten CSV-Dateien als Argument und führt sie dann standardmäßig entlang der Zeilenachse zusammen. Das Argument ignore_index=True
wird verwendet, um die fortlaufenden Indexwerte für den neu zusammengeführten DataFrame festzulegen.
Sehen Sie sich das folgende Beispiel an, in dem wir den oben genannten Ansatz mit Pandas Python implementiert haben:
Beispielcode:
import pandas as pd
# set files path
sales1 = "C:\\Users\\DELL\\OneDrive\\Desktop\\salesdata1.csv"
sales2 = "C:\\Users\DELL\\OneDrive\\Desktop\\salesdata2.csv"
print("*** Merging multiple csv files into a single pandas dataframe ***")
# merge files
dataFrame = pd.concat(map(pd.read_csv, [sales1, sales2]), ignore_index=True)
print(dataFrame)
Ausgabe:
*** Merging multiple csv files into a single pandas dataframe ***
Product_Name Quantity Sale_Price
0 Acer laptop 3 500$
1 Dell Laptop 6 700$
2 Hp laptop 8 800$
3 Lenavo laptop 2 600$
4 Acer laptop 3 500$
5 Dell Laptop 6 700$
6 Hp laptop 8 800$
7 Lenavo laptop 2 600$
Zusammenführen mehrerer CSV-Dateien in einem einzigen Pandas DataFrame
durch Zusammenführen aller Felder
Um alle .csv-Dateien in einem Pandas DataFrame
zusammenzuführen, haben wir in diesem Ansatz das Glob-Modul verwendet. Zuerst mussten wir alle Bibliotheken importieren. Danach legen wir den Pfad für alle Dateien fest, die wir zusammenführen müssen.
Im folgenden Beispiel nimmt os.path.join()
den Dateipfad als erstes Argument und die zu verbindenden Pfadkomponenten oder .csv-Dateien als zweites Argument. Hier wird die salesdata*.csv
jede Datei abgleichen und zurückgeben, die mit salesdata
im angegebenen Home-Verzeichnis beginnt und mit der Erweiterung .csv endet. Das glob.glob(files_joined)
nimmt ein Argument der zusammengeführten Dateinamen und gibt eine Liste aller zusammengeführten Dateien zurück.
Sehen Sie sich das folgende Beispiel an, um alle CSV-Dateien mit dem Glob-Modul zusammenzuführen:
Beispielcode:
import pandas as pd
import glob
import os
# merging the files
files_joined = os.path.join(
"C:\\Users\\DELL\\OneDrive\\Desktop\\CSV_files", "salesdata*.csv"
)
# Return a list of all joined files
list_files = glob.glob(files_joined)
print("** Merging multiple csv files into a single pandas dataframe **")
# Merge files by joining all files
dataframe = pd.concat(map(pd.read_csv, list_files), ignore_index=True)
print(dataframe)
Ausgabe:
** Merging multiple csv files into a single pandas dataframe **
Product_Name Quantity Sale_Price
0 Acer laptop 3 500$
1 Dell Laptop 6 700$
2 Hp laptop 8 800$
3 Lenavo laptop 2 600$
4 Acer laptop 3 500$
5 Dell Laptop 6 700$
6 Hp laptop 8 800$
7 Lenavo laptop 2 600$
Abschluss
In diesem Tutorial haben wir zwei Ansätze zum Zusammenführen mehrerer CSV-Dateien in Pandas Python vorgestellt. Wir haben gesehen, wie wir .csv-Dateien lesen und mit der Methode pd.concat()
zu einem einzigen Pandas-DataFrame zusammenführen können. Außerdem wissen wir jetzt, wie man das Modul glob
in Pandas Python-Code verwendet.
Verwandter Artikel - Python CSV
- Importieren Sie mehrere CSV-Dateien in Pandas und verketten Sie sie zu einem DataFrame
- Python teilt CSV in mehrere Dateien auf
- Vergleichen Sie zwei CSV-Dateien und drucken Sie Unterschiede mit Python
- Konvertieren XML in CSV mit Python
- Lesen CSV Zeile für Zeile in Python
- Python Schreiben in CSV Zeile für Zeile