Corso
I fogli di calcolo sono probabilmente tra gli elementi più importanti in un’organizzazione (di qualsiasi tipo). Spesso capita di dover importare un foglio di calcolo molto importante in un server di database, così da poterlo interrogare in modo efficace. In questo tutorial imparerai come farlo in PostgreSQL.
Questo tutorial presuppone che tu abbia già dimestichezza con SQL e con la scrittura di semplici query SQL in PostgreSQL. Se sei alle prime armi con SQL, ecco alcune risorse che potrebbero aiutarti:
Questo tutorial è suddiviso in due sezioni principali:
- Conversione di un foglio di calcolo in un file .csv
- Importazione di un file .csv in un database PostgreSQL
Conversione di un foglio di calcolo in un file .csv
Per iniziare ti servirà un foglio di calcolo con cui procedere. Puoi crearlo in qualsiasi editor Excel come Google Fogli, MS Excel, ecc. Per imparare le basi dei fogli di calcolo, puoi seguire il corso di DataCamp Nozioni di base sui fogli di calcolo o leggere questo tutorial introduttivo sui fogli di calcolo. Per seguire questo tutorial, puoi usare questo foglio di calcolo che contiene le seguenti colonne:
- ID
- Name
- Age
- Percentage Marks
Il foglio di calcolo contiene in totale 20 record.
Vediamo rapidamente un’istantanea (con le prime 10 righe) del foglio di calcolo - 
Il foglio di calcolo contiene informazioni su alcuni studenti universitari.
Dal’istantanea possiamo dedurre i probabili tipi di dato delle colonne:
- ID, Age e Percentage Marks sono colonne numeriche. Più nello specifico, le colonne ID e Age possono essere di tipo integer e la colonna
Percentage Markspuò essere di tipo float. - La colonna
Nameè di tipo carattere.
Il modo più semplice per importare questo foglio di calcolo (puoi anche chiamarlo dataset) in un database PostgreSQL è convertirlo prima in un file .csv e poi importarlo nel database PostgreSQL. CSV sta per comma-separated values. Questo ha due principali vantaggi:
- I file .csv sono molto più leggeri dei fogli di calcolo e quindi più facili da gestire con poca memoria.
- In PostgreSQL ci sono molte utility integrate per gestire in modo efficiente i file .csv.
Ogni editor Excel consente di convertire un foglio di calcolo in un file .csv. In Google Fogli, puoi farlo seguendo questo percorso: File -> Scarica -> Valori separati da virgola.
Importazione di un file .csv in un database PostgreSQL
Per importare il file .csv che hai appena creato in un database PostgreSQL, ti serve prima un database PostgreSQL. Creiamone rapidamente uno usando l’interfaccia pgAdmin.
Puoi creare un database con il nome che preferisci. Una volta fatto, dovrai creare una tabella in quel database che conterrà le righe del file .csv che stai per importare. Creiamo una tabella chiamata Student_Records nel database che hai appena creato.
CREATE TABLE Student_Records
(
ID serial NOT NULL,
Name varchar(50),
Age SMALLINT,
Percentage_Marks float8
);
Hai mantenuto i tipi di dato delle colonne come discusso sopra. Per comodità, hai mantenuto anche gli stessi nomi delle colonne. Ora vai alla tabella che hai appena creato in pgAdmin, fai clic destro sulla tabella e seleziona Import dalle opzioni. Per riferimento: https://www.loom.com/share/2eeb1a2c94bf4f928c3ffa5b1b72eef4.
Puoi ignorare gli errori avvenuti durante le importazioni come mostrato nello screencast. Puoi verificare se i record sono stati importati correttamente eseguendo una query select.
Vediamo ora come fare quanto sopra usando il prompt psql. Per farlo, per prima cosa tronca la tabella Student_Records con la query truncate table Student_Records;.
Ora apri un prompt psql, che dovrebbe apparire così - 
Ora passa al database che hai creato per importare inizialmente il foglio di calcolo. In PostgreSQL puoi passare a un database con il seguente comando:
\c database_name
Se l’operazione va a buon fine, il prompt di psql cambierà nel nome del database specificato. Ora puoi eseguire il seguente comando per importare il file .csv nella tabella Students_Records:
COPY Student_Records(ID,Name,Age,Percentage_Marks) FROM 'D:\Students.csv' DELIMITER ',' CSV HEADER;
Ora esegui una query select per verificare che l’import sia andato a buon fine.
Puoi trovare maggiori informazioni sul comando Copy qui e sperimentare con le sue diverse opzioni.
Conclusione
Questo è tutto per questo tutorial. Ora puoi importare un foglio di calcolo in PostgreSQL e fare la tua analisi proprio come faresti con le normali tabelle SQL.

