Python Pandas read_csv() ist eine der am häu­figs­ten genutzten Methoden, um Daten aus CSV-Dateien zu laden und in einem DataFrame-Format zu sichern. CSV-Dateien (Comma-separated Values) sind ein weit ver­brei­te­tes Format zur Spei­che­rung ta­bel­la­ri­scher Daten, das von vielen Pro­gram­men un­ter­stützt wird.

Web­hos­ting
Das beste Web­hos­ting zum Spit­zen­preis
  • 3x schneller und 60 % günstiger
  • Maximale Ver­füg­bar­keit mit > 99.99 %
  • Nur bei IONOS: Bis zu 500 GB Spei­cher­platz inklusive

Syntax von Python Pandas read_csv()

Die Funktion pandas.read_csv() erstellt einen Pandas DataFrame basierend auf einer CSV-Datei. Sie kann eine Vielzahl ver­schie­de­ner Parameter ent­ge­gen­neh­men, die das Verhalten der Funktion spe­zi­fi­zie­ren. Im Folgenden gehen wir der Übersicht halber nur auf die wich­tigs­ten und am häu­figs­ten be­nö­tig­ten Argumente ein. Eine aus­führ­li­che Auf­lis­tung finden Sie in der Pandas-Do­ku­men­ta­ti­on.

Die grund­le­gen­de Syntax der Funktion ist einfach und sieht fol­gen­der­ma­ß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 wich­tigs­ten Parameter:

Parameter Bedeutung Default-Wert
filepath_or_buffer Dies ist ein Python-String (Pfad zur Datei) oder ein Da­tei­puf­fer wie eine URL.
sep Hiermit wird das Trenn­zei­chen 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 Spal­ten­na­men 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 über­tra­gen.

In den Bei­spie­len soll mit einer CSV-Datei nach folgendem Muster ge­ar­bei­tet 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 im­por­tie­ren

In einem ersten Schritt sollten Sie die Pandas-Bi­blio­thek in Ihr Python-Skript im­por­tie­ren.

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 Code­bei­spiel be­trach­ten wir eine Datei namens daten.csv, die im selben Ver­zeich­nis wie das Skript ge­spei­chert ist:

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

Durch den Code wird die Datei in einem DataFrame-Objekt df gesichert, mit dem nun wei­ter­ge­ar­bei­tet werden kann. Pandas in­ter­pre­tiert au­to­ma­tisch die erste Zeile als Spal­ten­über­schrif­ten, wenn nichts anderes angegeben wird.

Schritt 3: CSV-Datei anzeigen

Um si­cher­zu­stel­len, dass die Datei korrekt geladen wurde, ist es sinnvoll, sich die ersten Zeilen des Da­ta­Frames anzusehen. Hierfür kann die Funktion DataFrame.head() genutzt werden. Sie zeigt stan­dard­mä­ßig die ersten fünf Zeilen des Da­ta­Frames 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: Spal­ten­na­men ändern (optional)

Wenn Ihre CSV-Datei keine Header-Zeile hat, können Sie die Spal­ten­na­men manuell de­fi­nie­ren:

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 al­ler­dings nicht der Fall ist und Sie eine sehr große CSV-Datei haben, sollten Sie die Datei stück­wei­se einlesen, um Spei­cher­pro­ble­me 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.

Zum Hauptmenü