La funzione read_csv() di Pandas in Python è uno dei metodi usati più di frequente per ricavare dati da un file CSV e salvarli in formato DataFrame. I file CSV (“comma separated values”) si usano di frequente per memorizzare dati tabellari e sono compatibili con molti programmi e strumenti di analisi di dati.

Il tuo web hosting come mai prima d'ora
  • Certificato SSL e protezione DDoS
  • Velocità, flessibilità e scalabilità
  • Dominio e consulente personale
  • 1 anno gratis del gestionale di fatturazione elettronica FlexTax

Sintassi di read_csv() di Pandas in Python

La funzione pandas.read_csv() crea un DataFrame in Pandas basato su un file CSV. Può accettare una serie di parametri diversi che determinano il comportamento della funzione. Di seguito ci concentreremo solo su uno di questi parametri. Un elenco dettagliato dei parametri disponibili è contenuto nella documentazione di Pandas.

La sintassi di base della funzione è semplice e si presenta come segue:

import pandas as pd
df = pd.read_csv(filepath_or_buffer, sep=',', header='infer', names=None, index_col=None, usecols=None, dtype=None, ...)
python

Parametri rilevanti

Di seguito ti forniamo una panoramica dei parametri più importanti:

Parametro Significato Valore predefinito
filepath_or_buffer È una stringa in Python (percorso del file) o un file buffer, ad esempio un URL.
sep Viene usato per specificare il separatore fra i valori. ,
header Indica quale riga del file CSV deve essere utilizzata come intestazione delle colonne. infer (prima riga)
names Se non viene specificata alcuna intestazione header=None puoi indicare una lista Python names per le colonne.
index_col Specifica quale colonna del file deve essere utilizzata come indice del DataFrame. None
usecols Permette di selezionare solo alcune colonne da caricare nel DataFrame. None
dtype Permette di definire il tipo di dato per ciascuna colonna del DataFrame. None

Guida per accedere ai file CSV

Con pandas.read_csv() è possibile trasferire i dati dai file CSV in Python in pochi semplici passi.

Di seguito trovi un breve esempio in cui il file CSV con il seguente schema viene trasferito in Python:

1,Mario Rossi,35,Roma,50000
2,Anna Bianchi,29,Milano,62000
3,Paolo Russo,41,Firenze,58000
4,Laura Romano,33,Napoli,49000
5,Matteo Ferrari,28,Venezia,52000

Primo passaggio: importare Pandas

Il primo passaggio consiste nell’importare la libreria Pandas all’interno dello script Python:

import pandas as pd
python

Secondo passaggio: caricare il file CSV

Ora puoi usare la funzione di Python Pandas read_csv()per caricare il file CSV. A tal proposito devi trasferire il percorso del file alla funzione. Nel seguente snippet di codice prendiamo in esame un file chiamato “dati.csv” salvato nella stessa directory dello script:

df = pd.read_csv('dati.csv')
python

Il codice carica il file CSV e lo salva in un DataFrame chiamatodf. Questo oggetto può essere utilizzato per eseguire ulteriori operazioni ed elaborazioni sui dati. Se non diversamente specificato, Pandas interpreta automaticamente la prima riga come intestazione di colonna.

Terzo passaggio: visualizzare il file CSV

Per verificare che il file sia stato caricato correttamente, puoi esaminare le prime righe del DataFrame utilizzando la funzione DataFrame.head(). Questa funzione, per impostazione predefinita, visualizza le prime cinque righe del DataFrame, offrendo una rapida panoramica della struttura dei dati.

print(df.head())
python

L’output è il seguente:

0   1  Mario Rossi      35    Roma     50000
1   2  Anna Bianchi     29    Milano   62000
2   3  Paolo Russo      41    Firenze  58000
3   4  Laura Romano     33    Napoli   49000
4   5  Matteo Ferrari   28    Venezia  52000

Quarto passaggio: modificare i nomi delle colonne (facoltativo)

Se il file CSV non contiene una riga di intestazione, puoi definire manualmente i nomi delle colonne:

df = pd.read_csv('dati.csv', header=None, names=['Colonna1', 'Colonna2', 'Colonna3', 'Colonna4', 'Colonna5'])
python

In questo esempio, le colonne sono state denominate manualmente “Colonna1, Colonna2, Colonna3, Colonna4” e “Colonna5”. Il codice emette quindi il seguente output:

Colonna1        Colonna2  Colonna3    Colonna4     Colonna5
0          1        Mario Rossi         35        Roma         50000
1          2        Anna Bianchi        29        Milano      62000
2          3        Paolo Russo         41        Firenze     58000
3          4        Laura Romano        33        Napoli      49000
4          5        Matteo Ferrari     28        Venezia     52000
N.B.

Il file CSV usato nell’esempio non contiene una grande quantità di dati. Se dovessi avere a che fare con un file CSV molto grande che potrebbe causare problemi di memoria puoi leggere il file in piccoli pezzi utilizzando il parametro chunksize di pandas.read_csv(). Questo parametro permette di specificare quante righe devono essere lette per ogni iterazione, evitando il caricamento completo del file in memoria. Con un ciclo for su Python potrai quindi iterare sui singoli blocchi (chunk).

Hai trovato questo articolo utile?
Vai al menu principale