Wie rufe ich Daten aus der Datenbank in Python ab? Importieren von Daten mit Python

Veröffentlicht: 2021-03-09

Die Datenanalyse ist eine wesentliche Fähigkeit für junge Absolventen, Ingenieure und Manager in der heutigen technologieorientierten Arbeitsumgebung. In diesem Artikel behandeln wir das Abrufen von Daten aus einer Datenbank in Python und machen Sie mit einigen grundlegenden Konzepten vertraut.

Inhaltsverzeichnis

Datenextraktion mit Python-Datenbank

Bei der Datenextraktion werden Daten aus verschiedenen Quellen abgerufen, manchmal weiter verarbeitet und zur weiteren Analyse in Repositories migriert. Es findet also eine Art Datentransformation statt. Und Python ist eine der führenden Programmiersprachen für solche Data-Science-Aufgaben. Weltweit gibt es etwa 8,2 Millionen Benutzer dieser Allzweck- und Skriptsprache.

In der folgenden Anleitung werden wir Extraktionsmethoden mit PostgreSQL, einem relationalen Open-Source-Datenbanksystem, diskutieren. Es bietet eine ROW_TO_JSON-Funktion, die die Ergebnismengen als JSON-Objekte zurückgibt, die von geschweiften Klammern {} umgeben sind. JSON-Datentypen würden Ihnen helfen, Abfrageergebnisse bequemer zu bearbeiten. Aber bevor wir beginnen, vergewissern Sie sich, dass Sie eine virtuelle Umgebung wie psycopg2-binary installiert haben.

Grundlagen der Python-Datenbank

Angenommen, Sie haben eine PostgreSQL-Datenbank der American National Football League (NFL). Dazu gehören Informationen über die Spieler, Trainer und Mannschaftstabellen. Beachten Sie auch die folgenden Details, um sich über die gespeicherten Daten zu informieren:

  • Die Datentabelle der Spieler enthält Details wie athelete_id, das ist der Primärschlüssel, die Vor- und Nachnamen der Spieler, die Trikotnummern, das Gewicht (in kg), die Größe (in m) und ihr Herkunftsland. Es enthält auch die team_id, einen Fremdschlüssel, der das Team jedes Athleten angibt.
  • Die Datentabelle für Trainer hat coach_id (Primärschlüssel) zusammen mit dem Vor- und Nachnamen und team_id (ein Fremdschlüssel, der auf das Tabellenfeld der Teams verweist).
  • Schließlich gibt es noch die Mannschaftstabelle, die jede Fußballmannschaft mit Name, Konferenz, ihrem Rang und Gesamtsiegen und -verlusten (unterteilt in „Heim“ und „Auswärts“) beschreibt. Hier ist der Primärschlüssel team_id, auf den in den obigen Tabellen verwiesen wird.

Nachdem Sie nun mit dem Dataset vertraut sind, wollen wir untersuchen, wie Sie eine SQL-Abfrage schreiben, um eine Liste von Teams abzurufen. Beispielsweise benötigen Sie Fußballmannschaften, die nach ihrer Konferenz und ihrem Rang geordnet sind. Sie möchten auch die Anzahl der Athleten oder Spieler in jedem Team zusammen mit den Namen ihrer Trainer extrahieren. Vielleicht möchten Sie auch die Anzahl der Siege und Niederlagen der Teams wissen, sowohl zu Hause als auch auswärts.

Führen Sie die folgenden Schritte aus, um diesen Vorgang zu starten:

AUSWÄHLEN

Vorname,

f.Stadt,

f.Konferenz,

f.conference_rank,

COUNT(a.player_id) AS number_of_athletes,

CONCAT(c.first_name, ' ', c.last_name) AS-Trainer,

f.home_wins,

f.away_wins

VON Athleten a, Mannschaften f, Trainer c

WHERE a.team_id = f.team_id

UND c.team_id = f.team_id

GROUP BY f.name, c.first_name, c.last_name, f.city, f.conference, f.conference_rank, f.home_wins, f.away_wins

ORDER BY f.conference, f.conference_rank

Danach können Sie die Abfrage innerhalb der zuvor erwähnten JSON-Funktion warpen (ROW_TO_JSON). Dadurch werden die Daten in einer Datei namens query.sql in Ihrem aktuellen Verzeichnis gespeichert. Fahren Sie nun mit den unten angegebenen Schritten fort.

SELECT ROW_TO_JSON(team_info) FROM (

AUSWÄHLEN

Vorname,

f.Stadt,

f.Konferenz,

f.conference_rank,

COUNT(a.athelete_id)AS number_of_atheletes,

CONCAT(c.first_name, ' ', c.last_name) AS-Trainer,

f.home_wins,

f.away_wins

VON Athleten a, Mannschaften f, Trainer c

WHERE a.team_id = f.team_id

UND c.team_id = f.team_id

GROUP BY f.name, c.first_name, c.last_name, f.city, f.conference, f.conference_rank, f.home_wins, f.away_wins

ORDER BY f.conference, f.conference_rank

) AS team_info

Sie würden feststellen, dass jede Zeile die Struktur eines Python-Wörterbuchs hat. Die Schlüssel sind nur die Feldnamen, die von Ihrer Abfrage zurückgegeben werden.

Um zu vermeiden, dass Ihre Umgebungsvariablen offengelegt werden, können Sie außerdem einige Änderungen an Ihren Initialisierungsdateien vornehmen. Wählen Sie je nach Bedarf eine der folgenden Methoden:

  • Für Windows: Systemsteuerung → System → Erweiterte Systemeinstellungen → Registerkarte Erweitert → Umgebungsvariablen.
  • Für eine Unix-ähnliche Umgebung: Fügen Sie Ihrer Initialisierungsdatei zwei Zeilen über Ihren Benutzernamen und Ihr Passwort hinzu.

Damit sind Sie bereit, Python-Code zu schreiben. Gleich zu Beginn werden wir einige Module und Funktionen importieren, um Fehlern vorzubeugen. Diese Aussagen können Ihnen dabei helfen:

Betriebssystem importieren

importiere psycopg2 als p

von psycopg2 Importfehler

Dann instanziieren wir die Verbindung, indem wir den Inhalt von query.sql laden. Öffnen Sie die SQL-Datenbankdatei mit den Befehlen zum Öffnen und Lesen und verbinden Sie sich mit der NFL-Datenbank mit der Verbindungsfunktion, indem Sie Ihren Datenbankbenutzer, Ihr Kennwort, Ihren Host und Ihre Portnummer angeben.

Lesen Sie auch: Python-Projekte auf GitHub

Wie rufe ich Daten aus einer Datenbank in Python ab?

Nachdem Sie die Datenbankverbindung hergestellt haben, können Sie mit der Abfrageausführung fortfahren. Sie müssen eine Kontrollstruktur namens "Cursor" verwenden. Es ist so einfach wie das Schreiben von „cursor = conn.cursor()“ und anschließend „cursor.execute(query)“. Das Ergebnis würde dann eine Liste von Tupeln (ein Element) in einem Wörterbuchformat enthalten.

result = cursor.fetchall()

An dieser Stelle können Sie versuchen, über das Ergebnis zu iterieren. Sie können den Inhalt nach Belieben manipulieren, einfügen oder in Tabellenkalkulationen, HTML-Tabellen usw. einspeisen. Vergessen Sie nicht, Ihren Code einzuschließen und zu bereinigen, während Sie fertig sind. Sie können dies mit einem try-außer-Block und dem Hinzufügen eines 'finally'-Satzes tun.

Wenn Sie mit großen Datensätzen umgehen, relational oder anderweitig, benötigen Sie einige grundlegende Tools zum Abfragen der Tabellen, insbesondere wenn Sie auch die Ergebnisse bearbeiten möchten. Eine solche Datentransformation ist mit Python einfach zu erreichen.

Daher beinhalten die meisten postgradualen Studiengänge die Kenntnis dieser Techniken als Teil des Lehrplans. Einige Beispiele sind das Associate Diploma in Data Science (IIIT-Bangalore) und das Global Master Certificate in Business Analytics (Michigan State University).

Kasse: Ideen für Python-Open-Source-Projekte

Fazit

In diesem Python-Datenbank -Tutorial haben wir gelernt, wie man eine relationale Datenbank verbindet, Abfragen ausführt und Ergebnisse importiert. Sie können mit Python viel mehr machen und Ihren Code so anpassen, dass er die gewünschten Dinge tut.

Wir hoffen, dass dieser Leitfaden Ihnen geholfen hat, Klarheit zu finden und Ihre Neugier geweckt hat!

Lernen Sie Datenwissenschaftskurse von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Wie ziehen Sie Daten aus einer API mithilfe von Python-Anforderungen?

Wenn Sie Daten von einer API erhalten möchten, müssen Sie eine Anfrage vom Server stellen, genau wie bei der Interaktion mit herkömmlichen Websites. Wir müssen das Paket "requests" verwenden, um Daten von einer API mit Python abzurufen. In Python ist Requests die Standardbibliothek zum Erstellen von HTTP-Anforderungen. Aufgrund seiner Abstraktionen ist es wirklich einfach zu verwenden, insbesondere bei der Arbeit mit APIs.
Wenn wir die Anforderungsbibliothek verwenden, um eine Anforderung auszuführen, erhalten wir ein Anforderungsobjekt, das die Daten enthält, die wir extrahieren möchten, sowie einen Anforderungsstatuscode. Der Statuscode informiert uns über den Status der Anfrage und ist Bestandteil jeder Anfrage, die wir stellen. Abhängig von den zurückgegebenen Informationen werden die Codes in Hunderte von verschiedenen Werten unterteilt.

Wie verbinde ich SQLite mit Python?

A. Wir müssen sqlite3 importieren, um SQLite verwenden zu können.
B. Stellen Sie dann mit der connect-Methode eine Verbindung her und geben Sie den Namen der Datenbank an, auf die Sie zugreifen möchten; Wenn eine Datei mit diesem Namen existiert, wird sie geöffnet. Python erstellt eine Datei mit dem angegebenen Namen, wenn Sie keinen angeben.
C. Anschließend wird ein Cursor-Objekt erstellt, das SQL-Befehle senden kann. Cursor ist eine Steuerstruktur zum Durchlaufen und Abrufen von Datenbankeinträgen. Beim Umgang mit Python ist der Cursor wirklich wichtig. Das Cursor-Objekt wird verwendet, um alle Befehle auszuführen.
D. Erstellen Sie ein Objekt und schreiben Sie die SQL-Anweisung mit Kommentaren darin, um eine Tabelle in der Datenbank zu erstellen. Beispiel: - sql_comm = SQL-Anweisung.
e. Und das Ausführen des Befehls ist ein Kinderspiel. Führen Sie die Cursor-Methode aus und übergeben Sie den Namen des SQL-Befehls als Argument. Speichern Sie eine Liste von Befehlen als Variable sql_comm und führen Sie sie aus. Nachdem Sie alle Ihre Aufgaben abgeschlossen haben, speichern Sie die Änderungen an der Datei, indem Sie sie festschreiben, und trennen Sie dann die Verbindung.

Ist Python gut für Datenbanken?

Python eignet sich besonders gut für strukturierte Tabellendaten, die mit SQL abgerufen werden können, dann aber zusätzliche Manipulationen erfordern, die mit SQL allein nur schwer zu bewerkstelligen wären.