LoslegenKostenlos loslegen

Eine CSV in eine Tabelle laden

Du hast bisher großartige Arbeit beim Einfügen von Daten in Tabellen geleistet! Jetzt lernst du, wie du die Inhalte einer CSV-Datei in eine Tabelle lädst.

Eine Möglichkeit wäre, eine CSV-Datei zeilenweise einzulesen, aus jeder Zeile ein Dictionary zu erstellen und dann insert() zu verwenden – so wie in der vorherigen Übung.

Es gibt aber einen schnelleren Weg mit pandas. Du kannst eine CSV-Datei mit der Funktion read_csv() in ein DataFrame einlesen (diese Funktion kennst du vermutlich schon; du kannst help(pd.read_csv) in der Konsole ausführen, um dein Gedächtnis aufzufrischen!). Anschließend kannst du die Methode .to_sql() (Docs) auf dem DataFrame aufrufen, um es in eine SQL-Tabelle in einer Datenbank zu laden. Die Spalten des DataFrames sollten zu den Spalten der SQL-Tabelle passen.

.to_sql() hat viele Parameter, aber in dieser Übung verwenden wir folgende:

  • name ist der Name der SQL-Tabelle (als String).
  • con ist die Verbindung zur Datenbank, die du zum Hochladen der Daten verwendest.
  • if_exists legt fest, wie vorzugehen ist, wenn die Tabelle in der Datenbank bereits existiert; mögliche Werte sind "fail", "replace" und "append".
  • index (True oder False) gibt an, ob der Index des DataFrames als Spalte geschrieben werden soll.

In dieser Übung lädst du die Daten aus der Datei census.csv in die bestehende Tabelle "census". Die connection zur Datenbank wurde bereits für dich erstellt.

Diese Übung ist Teil des Kurses

Einführung in Datenbanken mit Python

Kurs anzeigen

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# import pandas
import pandas as pd

# read census.csv into a DataFrame : census_df
census_df = pd.___(___, ___=___)

# rename the columns of the census DataFrame
census_df.columns = [___, ___, ___, 'pop2000', 'pop2008']
Code bearbeiten und ausführen