CSV-Dateien in Python zusammenführen

Samreena Aslam 30 Januar 2023
  1. Kombinieren Sie mehrere CSV-Dateien in einem einzigen Pandas DataFrame durch Zusammenführen nach Namen
  2. Zusammenführen mehrerer CSV-Dateien in einem einzigen Pandas DataFrame durch Zusammenführen aller Felder
  3. Abschluss
CSV-Dateien in Python zusammenführen

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