Cum să preluați datele din baza de date în Python? Importarea datelor folosind Python

Publicat: 2021-03-09

Analiza datelor este o abilitate esențială pe care o au tinerii absolvenți, ingineri și manageri în mediul de lucru actual, condus de tehnologie. În acest articol, vom aborda cum să preluați date dintr-o bază de date în python și să vă punem la curent cu câteva concepte fundamentale.

Cuprins

Extragerea datelor cu baza de date P ython

Extragerea datelor presupune preluarea datelor din diverse surse și, uneori, procesarea lor în continuare și migrarea lor în depozite pentru analize ulterioare. Deci, în acest proces are loc un fel de transformare a datelor. Și python este unul dintre limbajele de programare de top pentru astfel de sarcini de știință a datelor. Există aproximativ 8,2 milioane de utilizatori ai acestui limbaj de utilizare generală și de scripting în întreaga lume.

În următorul ghid, vom discuta despre metodele de extracție folosind PostgreSQL, un sistem de baze de date relaționale open-source. Oferă o funcție ROW_TO_JSON care returnează seturile de rezultate ca obiecte JSON, care sunt înconjurate de acolade {}. Tipurile de date JSON vă vor ajuta să manipulați mai convenabil rezultatele interogărilor. Dar înainte de a începe, asigurați-vă că ați instalat un mediu virtual, cum ar fi psycopg2-binary.

Baze de date Python

Să presupunem că aveți o bază de date PostgreSQL a Ligii naționale de fotbal americane (NFL). Aceasta ar include informații despre jucători, antrenori și mesele echipelor. De asemenea, rețineți următoarele detalii pentru a obține informații despre datele stocate:

  • Tabelul de date al jucătorilor conține detalii precum athelete_id, care este cheia principală, numele și prenumele jucătorilor, numerele tricoului, greutatea (în kg), înălțimea (în m) și țara lor de origine. Deține, de asemenea, team_id, o cheie străină care indică echipa fiecărui atleți.
  • Tabelul de date despre antrenori are coach_id (cheia primară), împreună cu numele și prenumele și team_id (o cheie străină care face referire la câmpul tabelului echipelor).
  • În cele din urmă, există tabelul echipelor care descrie fiecare echipă de fotbal cu un nume, conferință, rangul lor și totalul de victorii și înfrângeri (bifurcate în „acasă” și „deplasare”). Aici, cheia primară este team_id, la care se face referire în tabelele de mai sus.

Acum că sunteți familiarizat cu setul de date, să explorăm cum să scriem o interogare SQL pentru a prelua o listă de echipe. De exemplu, aveți nevoie de echipe de fotbal ordonate în funcție de conferință și rang. De asemenea, doriți să extrageți numărul de sportivi sau jucători din fiecare echipă împreună cu numele antrenorilor acestora. Poate doriți să aflați și numărul de victorii și pierderi ale echipelor, atât acasă, cât și în deplasare.

Urmați pașii de mai jos pentru a începe acest proces:

SELECTAȚI

f.nume,

f.oraș,

f.conferință,

f.conference_rank,

COUNT(a.player_id) AS număr_de_atleti,

CONCAT(c.prenume, ' ', c.nume) antrenor AS,

f.home_wins,

f.away_wins

DE LA sportivi a, echipe f, antrenori c

UNDE a.team_id = f.team_id

ȘI c.team_id = f.team_id

GROUP BY f.nume, c.prenume, c.nume, f.city, f.conference, f.conference_rank, f.home_wins, f.away_wins

ORDER BY f.conference, f.conference_rank

După aceasta, puteți deforma interogarea în cadrul funcției JSON pe care am menționat-o mai devreme (ROW_TO_JSON). Acest lucru va salva datele într-un fișier numit query.sql în directorul curent. Acum, continuați cu pașii indicați mai jos.

SELECTAȚI ROW_TO_JSON(informații_echipă) FROM (

SELECTAȚI

f.nume,

f.oraș,

f.conferință,

f.conference_rank,

COUNT(a.athelete_id)AS number_of_atheletes,

CONCAT(c.prenume, ' ', c.nume) antrenor AS,

f.home_wins,

f.away_wins

DE LA sportivi a, echipe f, antrenori c

UNDE a.team_id = f.team_id

ȘI c.team_id = f.team_id

GROUP BY f.nume, c.prenume, c.nume, f.city, f.conference, f.conference_rank, f.home_wins, f.away_wins

ORDER BY f.conference, f.conference_rank

) AS echipa_info

Veți observa că fiecare rând are structura unui dicționar python. Cheile sunt doar numele câmpurilor returnate de interogarea dvs.

Mai mult, pentru a evita expunerea variabilelor de mediu la vedere, puteți aplica unele modificări fișierelor de inițializare. Alegeți oricare dintre următoarele metode, în funcție de nevoile dvs.:

  • Pentru Windows: Panou de control → Sistem → Setări avansate de sistem → Fila Avansat → Variabile de mediu.
  • Pentru un mediu asemănător Unix: Adăugați două rânduri despre numele de utilizator și parola la fișierul de inițializare.

Cu aceasta, sunteți gata să scrieți cod Python. De la bun început, vom importa câteva module și funcții pentru a preveni erorile. Aceste afirmații vă pot ajuta să realizați asta:

import os

import psycopg2 ca p

din eroare de import psycopg2

Apoi, vom instanția conexiunea prin încărcarea conținutului din query.sql. Deschideți fișierul bazei de date SQL utilizând comenzi de deschidere și citire și conectați-vă la baza de date NFL folosind funcția de conectare specificând utilizatorul bazei de date, parola, gazda și numărul de port.

Citiți și: Proiecte Python pe GitHub

Cum să preluați datele dintr-o bază de date în Python?

Odată ce ați stabilit conexiunea la baza de date, puteți continua cu execuția interogării. Trebuie să utilizați o structură de control numită „cursor”. Este la fel de ușor ca să scrieți „cursor = conn.cursor()” și, ulterior, „cursor.execute(query)”. Rezultatul ar conține apoi o listă de tupluri (un element) într-un format de dicționar.

rezultat = cursor.fetchall()

În această etapă, puteți încerca să repetați rezultatul. Puteți manipula conținutul după cum doriți, le puteți introduce sau alimenta în foi de calcul, tabele HTML, etc. Nu uitați să împachetați și să curățați codul în timp ce terminați. Puteți face acest lucru cu un try-except-block și adăugând o propoziție „finally”.

Când manipulați seturi de date mari, relaționale sau de altă natură, simțiți nevoia unor instrumente de bază pentru a interoga tabelele, mai ales când doriți să manipulați și rezultatele. O astfel de transformare a datelor este ușor de realizat cu python.

Prin urmare, majoritatea programelor de studii postuniversitare includ cunoașterea acestor tehnici ca parte a curriculumului. Câteva exemple includ Diploma de Asociat în Știința Datelor (IIIT-Bangalore) și Certificatul Global de Master în Business Analytics (Michigan State University).

Checkout: Python Open Source Project Ideas

Concluzie

În acest tutorial de bază de date Python , am învățat cum să conectăm o bază de date relațională, să executăm interogări și să importam rezultate. Puteți face mult mai mult cu python și puteți adapta codul pentru a face lucrurile pe care le doriți.

Sperăm că acest ghid v-a ajutat să găsiți o oarecare claritate și să vă declanșeze curiozitatea!

Învață cursuri de știință a datelor de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Cum extrageți date dintr-un API folosind solicitări Python?

Când doriți să primiți date de la un API, trebuie să faceți o solicitare de la server, la fel ca atunci când interacționați cu site-uri web convenționale. Va trebui să folosim pachetul de solicitări pentru a obține date dintr-un API folosind Python. În Python, Requests este biblioteca standard pentru efectuarea cererilor HTTP. Datorită abstracțiilor sale, este foarte ușor de utilizat, mai ales când lucrați cu API-uri.
Când folosim biblioteca de solicitări pentru a rula o cerere, obținem un obiect de solicitare care conține datele pe care dorim să le extragem, precum și un cod de stare a solicitărilor. Codul de stare ne informează despre starea cererii și face parte din fiecare solicitare pe care o facem. În funcție de informațiile pe care le returnează, codurile sunt împărțite în sute de valori diferite.

Cum se conectează SQLite cu Python?

A. Trebuie să importam sqlite3 pentru a folosi SQLite.
b. Apoi, folosind metoda connect, faceți o conexiune și furnizați numele bazei de date pe care doriți să o accesați; dacă există un fișier cu acest nume, acesta va fi deschis. Python va crea un fișier cu numele furnizat dacă nu specificați unul.
c. După aceea, este creat un obiect cursor care poate trimite comenzi SQL. Cursorul este o structură de control pentru parcurgerea și preluarea înregistrărilor bazei de date. Când aveți de-a face cu Python, cursorul este foarte important. Obiectul cursor va fi folosit pentru a executa toate comenzile.
d. Creați un obiect și scrieți instrucțiunea SQL în el cu comentarii pentru a crea un tabel în baza de date. Exemplu: - sql_comm = instrucțiune SQL.
e. Și rularea comenzii este ușor. Executați metoda cursorului, trecând numele comenzii sql ca argument. Salvați o listă de comenzi ca variabilă sql_comm și rulați-le. După ce ați finalizat toate sarcinile, salvați modificările în fișier commitându-le, apoi deconectați-vă.

Este Python bun pentru baze de date?

Python este deosebit de potrivit pentru datele tabulare structurate care pot fi obținute cu SQL, dar apoi necesită manipulare suplimentară care ar fi dificil de realizat doar cu SQL.