Pandas read_csv(): So lesen Sie CSV-Dateien in Python ein

Python Pandas read_csv() ist eine der am häufigsten genutzten Methoden, um Daten aus CSV-Dateien zu laden und in einem DataFrame-Format zu sichern. CSV-Dateien (Comma-separated Values) sind ein weit verbreitetes Format zur Speicherung tabellarischer Daten, das von vielen Programmen unterstützt wird.

Webhosting
Top-Hosting für Ihre Website
  • Flexibel: Hosting, das jedem Website-Traffic standhält
  • Verlässlich: Inklusive 24/7-Support und persönlicher Beratung
  • Sicher: Kostenloses SSL-Zertifikat, DDoS-Schutz und Backups

Syntax von Python Pandas read_csv()

Die Funktion pandas.read_csv() erstellt einen Pandas DataFrame basierend auf einer CSV-Datei. Sie kann eine Vielzahl verschiedener Parameter entgegennehmen, die das Verhalten der Funktion spezifizieren. Im Folgenden gehen wir der Übersicht halber nur auf die wichtigsten und am häufigsten benötigten Argumente ein. Eine ausführliche Auflistung finden Sie in der Pandas-Dokumentation.

Die grundlegende Syntax der Funktion ist einfach und sieht folgendermaßen aus:

import pandas as pd
df = pd.read_csv(filepath_or_buffer, sep=',', header='infer', names=None, index_col=None, usecols=None, dtype=None, ...)
python

Relevante Parameter

Im Folgenden finden Sie eine Übersicht über die wichtigsten Parameter:

Parameter Bedeutung Default-Wert
filepath_or_buffer Dies ist ein Python-String (Pfad zur Datei) oder ein Dateipuffer wie eine URL.
sep Hiermit wird das Trennzeichen zwischen den Werten angegeben. ,
header Gibt an, welche Zeile als Header verwendet wird. infer (erste Zeile)
names Wenn header=None gesetzt ist, können Sie mit names eine Python-Liste von Spaltennamen angeben.
index_col Legt fest, welche Spalte als Index verwendet wird. None
usecols Mit diesem Parameter können Sie die Spalten auswählen, die Sie in den DataFrame laden möchten. None
dtype Gibt den Datentyp der Spalten an. None

Schritt-für-Schritt-Anleitung zum Zugriff auf CSV-Dateien

Mithilfe von pandas.read_csv() lassen sich Daten aus CSV-Dateien in nur wenigen Schritten in Python übertragen.

In den Beispielen soll mit einer CSV-Datei nach folgendem Muster gearbeitet werden:

1,Max Mustermann,35,Berlin,50000
2,Anna Müller,29,Hamburg,62000
3,Peter Schmidt,41,München,58000
4,Lisa Meier,33,Köln,49000
5,Tom Becker,28,Frankfurt,52000

Schritt 1: Pandas importieren

In einem ersten Schritt sollten Sie die Pandas-Bibliothek in Ihr Python-Skript importieren.

import pandas as pd
python

Schritt 2: CSV-Datei laden

Nun können Sie Ihre CSV-Datei mit der Python-Pandas-read_csv()-Funktion laden. Hierzu übergeben Sie der Funktion einfach den Dateipfad. Im folgenden Codebeispiel betrachten wir eine Datei namens daten.csv, die im selben Verzeichnis wie das Skript gespeichert ist:

df = pd.read_csv('daten.csv')
python

Durch den Code wird die Datei in einem DataFrame-Objekt df gesichert, mit dem nun weitergearbeitet werden kann. Pandas interpretiert automatisch die erste Zeile als Spaltenüberschriften, wenn nichts anderes angegeben wird.

Schritt 3: CSV-Datei anzeigen

Um sicherzustellen, dass die Datei korrekt geladen wurde, ist es sinnvoll, sich die ersten Zeilen des DataFrames anzusehen. Hierfür kann die Funktion DataFrame.head() genutzt werden. Sie zeigt standardmäßig die ersten fünf Zeilen des DataFrames an. So erhält man einen schnellen Überblick über die Struktur der Daten:

print(df.head())
python

Die Ausgabe sieht wie folgt aus:

0   1  Max Mustermann     35     Berlin   50000
1   2     Anna Müller     29    Hamburg   62000
2   3   Peter Schmidt     41    München   58000
3   4      Lisa Meier     33       Köln   49000
4   5      Tom Becker     28  Frankfurt   52000

Schritt 4: Spaltennamen ändern (optional)

Wenn Ihre CSV-Datei keine Header-Zeile hat, können Sie die Spaltennamen manuell definieren:

df = pd.read_csv('daten.csv', header=None, names=['Spalte1', 'Spalte2', 'Spalte3', 'Spalte4', 'Spalte5'])
python

In diesem Beispiel wurden die Spalten manuell mit Spalte1, Spalte2, Spalte3, Spalte4 und Spalte5 benannt. Der Code liefert als Resultat:

Spalte1            Spalte2  Spalte3     Spalte4  Spalte5
0          1  Max Mustermann         35      Berlin    50000
1          2      Anna Müller         29     Hamburg    62000
2          3    Peter Schmidt         41     München    58000
3          4        Lisa Meier         33         Köln    49000
4          5        Tom Becker         28  Frankfurt    52000
Hinweis

Die als Beispiel genutzte CSV-Datei hatte nicht allzu viele Daten und war somit eher klein. Wenn das allerdings nicht der Fall ist und Sie eine sehr große CSV-Datei haben, sollten Sie die Datei stückweise einlesen, um Speicherprobleme zu vermeiden. Hierfür können Sie den pandas.read_csv()-Parameter chunksize nutzen, der angibt, wie viele Zeilen pro Iteration gelesen werden sollen. Mit einer Python-for-Loop können Sie über die Chunks iterieren.

War dieser Artikel hilfreich?
Page top