Come recuperare i dati dal database in Python? Importazione di dati utilizzando Python
Pubblicato: 2021-03-09L'analisi dei dati è un'abilità essenziale per giovani laureati, ingegneri e manager nell'ambiente di lavoro odierno guidato dalla tecnologia. In questo articolo, tratteremo come recuperare i dati da un database in Python e ti aggiorneremo su alcuni concetti fondamentali.
Sommario
Estrazione dati con database Python
L'estrazione dei dati comporta il recupero dei dati da varie fonti e, talvolta, l'ulteriore elaborazione e la migrazione nei repository per ulteriori analisi. Quindi, nel processo avviene una sorta di trasformazione dei dati. E python è uno dei principali linguaggi di programmazione per tali attività di scienza dei dati. Ci sono circa 8,2 milioni di utenti di questo linguaggio di scripting generico in tutto il mondo.
Nella seguente guida, discuteremo i metodi di estrazione utilizzando PostgreSQL, un sistema di database relazionale open source. Fornisce una funzione ROW_TO_JSON che restituisce i set di risultati come oggetti JSON, che sono racchiusi tra parentesi graffe {}. I tipi di dati JSON ti aiuteranno a manipolare i risultati delle query in modo più conveniente. Ma prima di iniziare, assicurati di aver installato un ambiente virtuale, come psycopg2-binary.
Nozioni di base sul database Python
Supponiamo di avere un database PostgreSQL dell'American National Football League (NFL). Ciò includerebbe informazioni sui giocatori, allenatori e tabelle delle squadre. Inoltre, nota i seguenti dettagli per ottenere informazioni sui dati archiviati:
- La tabella dei dati dei giocatori contiene dettagli come athelete_id, che è la chiave principale, nome e cognome dei giocatori, numeri di maglia, peso (in kg), altezza (in m) e paese di origine. Contiene anche il team_id, una chiave esterna che indica la squadra di ogni atleta.
- La tabella dei dati sugli allenatori ha coach_id (chiave primaria), insieme al nome e cognome, e team_id (una chiave esterna che fa riferimento al campo della tabella delle squadre).
- Infine, c'è la tabella delle squadre che descrive ogni squadra di calcio con un nome, una conferenza, il loro grado e le vittorie e le sconfitte totali (divise in "casa" e "trasferta"). Qui, la chiave primaria è team_id, a cui si fa riferimento nelle tabelle precedenti.
Ora che hai familiarità con il set di dati, esploriamo come scrivere una query SQL per recuperare un elenco di team. Ad esempio, hai bisogno di squadre di calcio ordinate in base alla loro conferenza e al grado. Vuoi anche estrarre il numero di atleti o giocatori in ogni squadra insieme ai nomi dei loro allenatori. Potresti anche voler conoscere il numero di vittorie e sconfitte delle squadre, sia in casa che fuori.
Segui i passaggi seguenti per avviare questo processo:
SELEZIONARE
f.nome,
f.città,
f.conferenza,
f.class_conferenza,
COUNT(a.player_id) COME numero_di_atleti,
CONCAT(c.first_name, ' ', c.last_name) AS coach,
f.home_wins,
f.vince_in trasferta
DA atleti a, squadre f, allenatori c
DOVE a.team_id = f.team_id
E 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
ORDINA PER f.conference, f.conference_rank
Successivamente, puoi deformare la query all'interno della funzione JSON menzionata in precedenza (ROW_TO_JSON). Ciò salverà i dati in un file chiamato query.sql nella directory corrente. Ora, continua con i passaggi indicati di seguito.
SELECT ROW_TO_JSON(team_info) DA (
SELEZIONARE
f.nome,
f.città,
f.conferenza,
f.class_conferenza,
COUNT(a.athelete_id)AS numero_di_atheletes,
CONCAT(c.first_name, ' ', c.last_name) AS coach,
f.home_wins,
f.vince_in trasferta
DA atleti a, squadre f, allenatori c
DOVE a.team_id = f.team_id
E 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
ORDINA PER f.conference, f.conference_rank
) AS team_info
Osserverai che ogni riga ha la struttura di un dizionario Python. Le chiavi sono solo i nomi dei campi restituiti dalla tua query.
Inoltre, per evitare di esporre le variabili di ambiente in bella vista, puoi applicare alcune modifiche ai file di inizializzazione. Scegli uno dei seguenti metodi, a seconda delle tue esigenze:

- Per Windows: Pannello di controllo → Sistema → Impostazioni di sistema avanzate → Scheda Avanzate → Variabili d'ambiente.
- Per un ambiente simile a Unix: aggiungi due righe sul tuo nome utente e password al tuo file di inizializzazione.
Con questo, sei pronto per scrivere codice Python. All'inizio importeremo alcuni moduli e funzioni per evitare errori. Queste affermazioni possono aiutarti a raggiungere questo obiettivo:
importare os
importa psycopg2 come p
da psycopg2 Import Error
Quindi, istanziare la connessione caricando il contenuto di query.sql. Aprire il file del database SQL utilizzando i comandi di apertura e lettura e connettersi al database NFL utilizzando la funzione di connessione specificando l'utente, la password, l'host e il numero di porta del database.
Leggi anche: Progetti Python su GitHub
Come recuperare i dati da un database in Python?
Una volta stabilita la connessione al database, è possibile procedere con l'esecuzione della query. È necessario utilizzare una struttura di controllo chiamata 'cursore'. È facile come scrivere "cursor = conn.cursor()" e successivamente "cursor.execute(query)". Il risultato conterrebbe quindi un elenco di tuple (un elemento) in un formato dizionario.
risultato = cursor.fetchall()
A questo punto, puoi provare a ripetere il risultato. Puoi manipolare i contenuti come vuoi, inserirli o alimentarli in fogli di calcolo, tabelle HTML, ecc. Non dimenticare di avvolgere e pulire il tuo codice mentre finisci. Puoi farlo con un blocco try-except e aggiungendo una frase "finalmente".
Quando si gestiscono set di dati di grandi dimensioni, relazionali o meno, si sente la necessità di alcuni strumenti di base per interrogare le tabelle, soprattutto quando si desidera manipolare anche i risultati. Tale trasformazione dei dati è facile da ottenere con Python.
Pertanto, la maggior parte dei programmi di studio post-laurea include la conoscenza di queste tecniche come parte del curriculum. Alcuni esempi includono l'Associate Diploma in Data Science (IIIT-Bangalore) e il Global Master Certificate in Business Analytics (Michigan State University).
Checkout: idee per progetti open source Python
Conclusione
In questo tutorial sul database Python , abbiamo imparato come connettere un database relazionale, eseguire query e importare risultati. Puoi fare molto di più con Python e adattare il tuo codice per fare le cose che desideri.
Speriamo che questa guida ti abbia aiutato a trovare un po' di chiarezza e abbia stimolato la tua curiosità!
Impara i corsi di scienza dei dati dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.
Come si estraggono i dati da un'API utilizzando le richieste Python?
Quando si desidera ricevere dati da un'API, è necessario effettuare una richiesta dal server, proprio come quando si interagisce con i siti Web tradizionali. Dovremo usare il pacchetto delle richieste per ottenere dati da un'API usando Python. In Python, Requests è la libreria standard per effettuare richieste HTTP. Grazie alle sue astrazioni, è davvero facile da usare, specialmente quando si lavora con le API.
Quando utilizziamo la libreria delle richieste per eseguire una richiesta, otteniamo un oggetto richiesta che contiene i dati che vogliamo estrarre e un codice di stato delle richieste. Il codice di stato ci informa sullo stato della richiesta e fa parte di ogni richiesta che facciamo. A seconda delle informazioni che restituiscono, i codici sono divisi in centinaia di valori diversi.
Come connettere SQLite con Python?
un. Dobbiamo importare sqlite3 per poter usare SQLite.
B. Quindi, utilizzando il metodo di connessione, effettuare una connessione e fornire il nome del database a cui si desidera accedere; se esiste un file con quel nome, verrà aperto. Python creerà un file con il nome fornito se non ne specifichi uno.
C. Successivamente, viene creato un oggetto cursore che può inviare comandi SQL. Il cursore è una struttura di controllo per l'attraversamento e il recupero dei record del database. Quando si ha a che fare con Python, il cursore è davvero importante. L'oggetto cursore verrà utilizzato per eseguire tutti i comandi.
D. Crea un oggetto e scrivi l'istruzione SQL in esso con i commenti per creare una tabella nel database. Esempio: - sql_comm = istruzione SQL.
e. Ed eseguire il comando è un gioco da ragazzi. Eseguire il metodo cursor, passando il nome del comando sql come argomento. Salva un elenco di comandi come variabile sql_comm ed eseguili. Dopo aver completato tutte le tue attività, salva le modifiche al file eseguendo il commit, quindi disconnetti.
Python va bene per i database?
Python è particolarmente adatto per dati tabulari strutturati che possono essere ottenuti con SQL ma richiedono una manipolazione aggiuntiva che sarebbe difficile da realizzare con il solo SQL.