PANDAS TO_SQL -Methode

PANDAS TO_SQL -Methode
Wir werden verstehen, wie man die Funktion pandas to_sql () in diesem Tutorial verwendet. Mit dieser Funktion können wir PANDAS -Datensätze in einer SQL -Datenbank speichern.

Funktionssyntax

Die Funktion hat wie gezeigt eine Syntax:

Datenrahmen.to_sql (Name, con, schema = keine, if_exists = 'fail', index = true, index_label = none, chunkSize = none, dType = Keine, method = keine)

Funktionsparameter

Lassen Sie uns die Funktionsparameter und die jeweils jeweils entsprechen:

  1. Name - bezieht sich auf die SQL -Tabelle, in der die Daten gespeichert werden.
  2. Con - bezieht sich auf die Verbindung zur Datenbankmotor. Die SQLalchemy -Engine verwaltet die Verbindung zur Datenbank. Daher können Sie jede Datenbank verwenden, die von der Bibliothek unterstützt wird.
  3. Schema - Gibt das Zielschema an, in dem die Daten gespeichert werden können.
  4. If_exists - Legt die Aktionen fest, wenn die angegebene Tabelle bereits im Zielschema vorhanden ist. Zu den akzeptierten Optionen gehören:
    • -FAIL - erhöht einen Fehler.
    • Ersetzen - fallen die Tabelle und fügt die neue Tabelle hinzu.
    • Anhängen - fügt die neuen Daten in die vorhandenen ein.
  5. INDEX - Ermöglicht den Index des Datenrahmens als Spalte. Wenn der Index einen Namen hat, verwendet die Funktion ihn als Name der Spalte in der Datenbank.
  6. INDEX_LABEL - Wenn der Index_Column keinen Namen hat, können Sie einen mit diesem Parameter angeben.
  7. ChunkSize - Gibt an, wie viele Zeilen gleichzeitig geschrieben werden können. Wenn nicht angegeben, schreibt die Funktion alle Zeilen gleichzeitig.
  8. DTYPE - Gibt den Datentyp für die Spalten an.
  9. Methode - Dieser Parameter definiert die SQL -Methode zum Einfügen der Daten. Zu den akzeptierten Werten gehören:
    • Keine - verwendet den Standard -SQL -Einsatz.
    • Multi - - ermöglicht das Übergeben mehrerer Werte in eine einzelne Anweisung.

Erfahren Sie mehr über die SQL -Einfügungsmethoden.

Funktionsrückgabewert

Die Funktion gibt die Anzahl der von der SQL -Operation betroffenen Zeilen zurück.

Beispiel:

In diesem Beispiel werden wir den folgenden DataFrame in eine MySQL -Datenbank einfügen.

https: // www.Dropbox.com/s/kql82sncnu7j3c1/film.CSV?dl = 0

Schritt 1: Beginnen Sie mit dem Importieren der erforderlichen Bibliotheken und dem Laden des Datenrahmens.

Pandas als PD importieren
df = pd.Read_csv ('Filme.CSV ', Index_col = [0])

Sobald der Datenrahmen geladen ist, fahren Sie mit dem nächsten Schritt fort.

Schritt 2: Der nächste Schritt besteht darin, ein Datenbankschema zu erstellen. Öffnen Sie Ihr Terminal und stellen Sie eine Verbindung zu Ihrer MySQL -Instanz her.

$ mysql -u root -p

Erstellen Sie ein Datenbankschema wie gezeigt:

MySQL> Datenbank erstellen pandas_sample;

Der obige Code sollte eine Datenbank erstellen, die namens 'pandas_sample.''. Ändern Sie dies für Ihren gewünschten Betrieb.

Schritt 3: Als nächstes gehen wir zu unserem Python -Code zurück und stellen uns eine Verbindung zur Datenbank her. Wir können zunächst SQLalchemy importieren und die Verbindung zum Motor herstellen.

von Sqlalchemy Import create_engine
Engine = Create_Engine ("mysql+pYMYSQL: // root: [email protected]: 3306/pandas_Sample?charset = utf8mb4 "))

Im obigen Beispiel beginnen wir zunächst das Modul create_engine aus der SQLalchemy -Bibliothek.

Anschließend erstellen wir eine Verbindung zum MySQL -Engine mit der unten gezeigten Syntax:

create_engine ("mysql+pymaysql: // user: Pass@host: port/dbname

Hinweis: Wenn Sie nicht die PYMYSQL -Bibliothek installiert haben, gibt der obige Code einen Fehler zurück.

Sie können dies beheben, indem Sie die Bibliothek wie gezeigt installieren:

PIP3 Installieren Sie PYMSQL

Schritt 4: Sobald wir alles in Betrieb haben, können wir den geladenen Datenrahmen mit der Funktion to_sql () wie gezeigt in der Datenbank speichern:

df.to_sql ('filme', con = Engine)

Der obige Code sollte eine neue Tabelle namens "Filme" erstellen und die Datenframewerte einfügen.

Um alle Datensätze in der Datenbank anzuzeigen, können wir ausführen:

MySQL> Verwenden Sie Pandas_Sample;
MySQL> SELECT * aus Filmen;

Dies sollte die Datensätze aus dem DataFrame wie gezeigt zurückgeben:

Sie können auch Python verwenden, um die Datensätze aus der Datenbank wie gezeigt zu erhalten:

Motor.ausführen ('aus Filmen auswählen').fetchall ()

Die resultierenden Werte sind wie gezeigt:

Abschluss

In diesem Artikel wird untersucht.