IniziaInizia gratis

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_exists specifica come comportarsi se la tabella esiste già nel database; i valori possibili sono "fail", "replace" e "append".
  • index (True o False) 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

Visualizza il corso

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']
Modifica ed esegui il codice