Caricare un CSV in una tabella
Ottimo lavoro finora con l'inserimento dei dati nelle tabelle! Ora imparerai a caricare il contenuto di un file CSV in una tabella.
Un modo sarebbe leggere il file CSV riga per riga, creare un dizionario per ogni riga e poi usare insert(), proprio come hai fatto nell'esercizio precedente.
Ma c'è un modo più veloce usando pandas. Puoi leggere un file CSV in un DataFrame con la funzione read_csv() (dovrebbe esserti familiare; in caso, esegui help(pd.read_csv) nella console per un ripasso!). Poi puoi chiamare il metodo .to_sql() (docs) sul DataFrame per caricarlo in una tabella SQL in un database. Le colonne del DataFrame devono corrispondere alle colonne della tabella SQL.
.to_sql() ha molti parametri, ma in questo esercizio useremo i seguenti:
nameè il nome della tabella SQL (come stringa).conè la connessione al database che userai per caricare i dati.if_existsspecifica come comportarsi se la tabella esiste già nel database; i valori possibili sono"fail","replace"e"append".index(TrueoFalse) specifica se scrivere l'indice del DataFrame come colonna.
In questo esercizio caricherai i dati contenuti nel file census.csv in una tabella esistente "census". La connection al database è già stata creata per te.
Questo esercizio fa parte del corso
Introduzione ai database in Python
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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']