17  CSV-Dateien

CSV-Dateien (Comma-Separated Values) sind ein weit verbreitetes Format zur Speicherung tabellarischer Daten. Sie zeichnen sich durch ihre Einfachheit und Plattformunabhängigkeit aus, was sie zu einem beliebten Austauschformat für Daten macht.

Beispiel einer Tabelle:

Name Alter Stadt
Max 24 Berlin
Anna 30 Hamburg
Tom 22 München

Struktur einer CSV-Datei:

Hier die tabellarischen Beispieldaten als CSV-Datei:

Name,Alter,Stadt
Max,24,Berlin
Anna,30,Hamburg
Tom,22,München

In diesem Beispiel:

Diese einfache Struktur ermöglicht es, Daten leicht zu organisieren und in verschiedenen Anwendungen zu verwenden, von Tabellenkalkulationen bis hin zu Datenanalyse-Tools.

17.1 Excel und Google Sheets

Sowohl Microsoft Excel als auch Google Sheets bieten Funktionen zum Exportieren von Daten in das CSV-Format.

Diese Konvertierungen ermöglichen eine nahtlose Integration von Daten aus Tabellenkalkulationen in verschiedene Datenanalyse-Workflows, insbesondere in Python-basierte Projekte.

17.1.1 Excel-Tabellen in CSV konvertieren

Um eine Excel-Tabelle als CSV-Datei zu speichern:

  1. Excel-Datei öffnen
  2. “Datei” > “Speichern unter” wählen
  3. Speicherort und Dateinamen festlegen
  4. Bei “Dateityp” die Option “CSV (Trennzeichen-getrennt) (*.csv)” auswählen
  5. “Speichern” klicken

17.1.2 Google Sheets in CSV konvertieren

Für den Export einer Google Sheets-Tabelle als CSV-Datei:

  1. Google Sheet öffnen
  2. “Datei” in der oberen Menüleiste anklicken
  3. “Herunterladen” > “Comma-separated values (.csv, aktuelles Blatt)” wählen
  4. Die CSV-Datei wird automatisch heruntergeladen

17.2 CSV in Python

Die Bibliothek Pandas ist ein leistungsstarkes Werkzeug für die Verarbeitung von CSV-Daten in Python. Sie ermöglicht sowohl das Erstellen als auch das Einlesen von CSV-Dateien mit wenigen Zeilen Code.

17.2.1 CSV Erstellen

import pandas as pd
# Daten definieren
daten = {
    "Name": ["Max", "Anna", "Tom"],
    "Alter": [24, 30, 22],
    "Stadt": ["Berlin", "Hamburg", "München"]
}
# DataFrame erstellen
df = pd.DataFrame(daten)
# Als CSV-Datei speichern
df.to_csv('daten.csv', index=False)

Dieser Code erstellt einen Pandas DataFrame aus einem Python-Dictionary und speichert ihn als CSV-Datei.

  1. Pandas importieren: import pandas as pd lädt die Pandas-Bibliothek.

  2. Daten definieren: Ein Dictionary daten wird erstellt, das die Spalten und Werte für den DataFrame enthält.

  3. DataFrame erstellen: pd.DataFrame(daten) konvertiert das Dictionary in einen Pandas DataFrame.

  4. CSV speichern: df.to_csv('daten.csv', index=False) speichert den DataFrame als CSV-Datei. index=False verhindert, dass die Zeilenindizes in die Datei geschrieben werden.

17.2.2 Speicherort der CSV-Datei

Wenn kein spezifischer Pfad angegeben wird, speichert Python die CSV-Datei im aktuellen Arbeitsverzeichnis. Um das aktuelle Arbeitsverzeichnis zu ermitteln, kann dieser Code genutzt werden:

import os

print(os.getcwd())

Diese Funktion gibt den Pfad des aktuellen Arbeitsverzeichnisses aus.

17.2.3 CSV Einlesen

Dieser Code liest eine CSV-Datei ein und konvertiert sie in einen Pandas DataFrame:

import pandas as pd
# CSV-Datei lesen
df = pd.read_csv('daten.csv')
# DataFrame anzeigen
df
Name Alter Stadt
0 Max 24 Berlin
1 Anna 30 Hamburg
2 Tom 22 München

Hinweise zu dem Code:

  1. Importieren der Pandas-Bibliothek.
  2. Lesen der CSV-Datei daten.csv und Erstellung eines Pandas DataFrames aus den Daten.
  3. Ausgeben des DataFrame.
  1. Importieren der Pandas-Bibliothek
import pandas as pd

Die pandas-Bibliothek wird importiert.

  1. Lesen einer CSV-Datei
df = pd.read_csv('daten.csv')

Die Methode pd.read_csv('daten.csv') liest die CSV-Datei daten.csv und erstellt daraus einen Pandas DataFrame. Diese Methode nimmt den Dateinamen als Argument und lädt die Daten aus der CSV-Datei in einen DataFrame.

Angenommen, die Datei daten.csv hat folgenden Inhalt:

Name,Alter,Stadt
Max,24,Berlin
Anna,30,Hamburg
Tom,22,München

Diese Datei enthält drei Spalten: “Name”, “Alter” und “Stadt”. Die erste Zeile der Datei enthält die Spaltenüberschriften.

Die Methode pd.read_csv() interpretiert die erste Zeile als Spaltennamen und die nachfolgenden Zeilen als Daten. Der resultierende DataFrame df sieht wie folgt aus:

   Name  Alter     Stadt
0   Max     24    Berlin
1  Anna     30   Hamburg
2   Tom     22   München

Jede Zeile im DataFrame repräsentiert einen Datensatz (eine Person) und jede Spalte repräsentiert eine Eigenschaft dieser Datensätze (Name, Alter, Stadt).

3. Ausgeben des DataFrame

```python
df

Der DataFrame wird in einer tabellarischen Form angezeigt, die die Daten klar und übersichtlich darstellt.

Die Ausgabe sieht wie folgt aus:

   Name  Alter     Stadt
0   Max     24    Berlin
1  Anna     30   Hamburg
2   Tom     22   München

Diese Ausgabe zeigt alle Zeilen und Spalten des DataFrame an. Jede Zeile entspricht einem Datensatz aus der CSV-Datei, und jede Spalte entspricht einer Eigenschaft der Datensätze.

17.2.4 Hinweis zum Dateipfad

Bei der Arbeit mit CSV-Dateien ist es wichtig, den korrekten Pfad anzugeben:

  • Befindet sich die Datei im aktuellen Arbeitsverzeichnis, reicht der Dateiname aus.
  • Für Dateien in anderen Verzeichnissen muss der vollständige Pfad angegeben werden:
df = pd.read_csv('/pfad/zum/verzeichnis/daten.csv')

Um Fehler zu vermeiden, sollte sichergestellt werden, dass der angegebene Pfad korrekt ist und die Datei existiert. Bei Problemen kann das aktuelle Arbeitsverzeichnis überprüft werden:

import os

print(os.getcwd())

Dies hilft, den korrekten Pfad zur CSV-Datei zu bestimmen und FileNotFoundErrors zu vermeiden.