Quando si inizia a lavorare con i dati in Python, una delle prime attività da imparare è leggere un file CSV con Pandas. Il formato CSV è infatti tra i più usati per archiviare tabelle, elenchi, report e dataset esportati da Excel, gestionali o applicazioni web. Proprio per questo, capire bene come funziona pandas leggere csv è un passaggio fondamentale per chi vuole analizzare dati in modo pratico e veloce.
Pandas mette a disposizione strumenti molto comodi per importare file CSV, modificarli, controllarne il contenuto e persino crearli da zero. Anche se all’inizio può sembrare un argomento tecnico, in realtà le operazioni di base sono piuttosto lineari. Basta conoscere i metodi giusti e usarli nel modo corretto.
In questa guida di Gedemy vedremo come importare Pandas, come aprire un file CSV già esistente, come creare un DataFrame manualmente ed esportarlo in CSV e come gestire un separatore personalizzato. L’obiettivo è offrire una spiegazione chiara, concreta e adatta anche a chi è alle prime armi.
Come importare Pandas in Python
Prima di poter lavorare con i file CSV, è necessario importare la libreria Pandas all’interno del proprio script Python. Nella maggior parte dei casi si usa l’alias pd, una convenzione ormai standard che rende il codice più corto e leggibile.
import pandas as pd
Se Pandas non è ancora installato nel tuo ambiente, puoi aggiungerlo con pip. È un’operazione semplice e richiede solo un comando.
pip install pandas
Una volta completata l’installazione e importata la libreria, puoi iniziare a usare tutte le funzioni principali per la gestione dei dati tabellari. Tra queste, una delle più importanti è read_csv(), il metodo usato per leggere i file CSV in Pandas.
Aprire un file CSV esistente con Pandas
Il modo più comune per leggere CSV in Pandas consiste nell’utilizzare la funzione pd.read_csv(). Questo metodo carica il contenuto del file in un DataFrame, cioè una struttura tabellare molto potente e flessibile.
Ecco l’esempio più semplice.
import pandas as pd
df =
{
}
df = pd.read_csv("dati.csv")
print(df)
In questo caso, Pandas legge il file dati.csv presente nella stessa cartella dello script e lo trasforma in un DataFrame. Da quel momento puoi visualizzare i dati, filtrarli, modificarli o analizzarli.
Se il file si trova in un’altra posizione, puoi indicare il percorso completo.
import pandas as pd
df = pd.read_csv("C:/Documenti/progetti/dati.csv")
print(df)
Un aspetto molto utile è che Pandas riconosce automaticamente la presenza delle intestazioni di colonna nella prima riga del file. Se però il CSV non contiene header, puoi specificarlo manualmente.
import pandas as pd
df = pd.read_csv("dati.csv", header=None)
print(df)
Questa opzione è particolarmente utile quando si lavora con file esportati da sistemi esterni, in cui la struttura non è sempre uniforme. In un contesto reale, saper gestire questi casi fa una grande differenza e rende più agevole il lavoro quotidiano sui dataset.
Creare un DataFrame da zero e salvarlo in formato CSV
Oltre a importare dati, Pandas consente anche di creare un DataFrame da zero e poi esportarlo in un file CSV. È una funzione molto comoda quando si vogliono generare report, creare tabelle personalizzate o salvare risultati di elaborazioni fatte in Python.
Un esempio semplice è il seguente.
import pandas as pd
dati =
{
"Nome": ["Anna", "Luca", "Marco"],
"Età": [28, 34, 25],
"Città": ["Milano", "Roma", "Torino"]
}
df = pd.DataFrame(dati)
df.to_csv("persone.csv", index=False)
print(df)
Qui viene creato un DataFrame a partire da un dizionario Python. Successivamente, il metodo to_csv() salva il contenuto nel file persone.csv. Il parametro index=False evita che Pandas scriva anche l’indice numerico come prima colonna del file.
Questa accortezza è molto importante. Chi inizia spesso si ritrova con una colonna extra nel CSV esportato e non capisce da dove provenga. Nella maggior parte dei casi, la soluzione è proprio usare index=False.
Creare file CSV in questo modo è utile non solo per esercitarsi, ma anche per automatizzare operazioni ripetitive. Ad esempio, puoi raccogliere dati da più fonti, unirli in un DataFrame e poi esportare il risultato finale in un unico file ordinato.
Usare un separatore personalizzato nei file CSV
Non tutti i file CSV usano la virgola come separatore. In molti contesti, soprattutto in ambiente europeo, è comune trovare file con punto e virgola, tabulazioni o altri caratteri. Per questo motivo, quando si parla di pandas leggere csv, è essenziale sapere come indicare un separatore personalizzato.
Per leggere un file che usa il punto e virgola, ad esempio, puoi usare il parametro sep.
import pandas as pd
df = pd.read_csv("dati.csv", sep=";")
print(df)
Se invece vuoi esportare un file CSV con un separatore diverso dalla virgola, puoi specificarlo allo stesso modo nel metodo to_csv().
import pandas as pd
dati =
{
"Prodotto": ["Mouse", "Tastiera", "Monitor"],
"Prezzo": [25, 45, 180]
}
df = pd.DataFrame(dati)
df.to_csv("prodotti.csv", sep=";", index=False)
Questa possibilità è molto utile quando devi scambiare file con software che si aspettano un formato preciso. In ambito professionale capita spesso di dover adattare il CSV a sistemi gestionali, strumenti di business intelligence o applicazioni legacy che non leggono il formato standard con la virgola.
Un altro vantaggio di Pandas è che permette di controllare in modo molto preciso il processo di importazione. Anche se qui ci concentriamo sulle basi, sapere usare bene read_csv() e to_csv() con il parametro sep risolve già una parte consistente dei casi più frequenti.