# 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.

## Syntax von Python Pandas `read_csv()`

Die Funktion `pandas.read_csv()` erstellt einen [Pandas DataFrame](https://www.ionos.com/de-ch/digitalguide/websites/web-entwicklung/python-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](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html "Pandas-Dokumentation zu read_csv()").

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

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

### Relevante Parameter

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

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

## 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:

```none
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.

```python
import pandas as pd
```

### 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:

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

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:

```python
print(df.head())
```

Die Ausgabe sieht wie folgt aus:

```none
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:

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

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

```none
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.


This is a markdown version of: [https://www.ionos.com/de-ch/digitalguide/websites/web-entwicklung/python-pandas-read-csv/](https://www.ionos.com/de-ch/digitalguide/websites/web-entwicklung/python-pandas-read-csv/) for AI/LLM consumption.