Leggere CSV in Pandas

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.

Corsi correlati

Design Pattern per videogiochi

I Design Pattern sono soluzioni a problemi comuni che si incontrano nello sviluppo del software. Nel contesto dei videogiochi, questi pattern possono aiutare a gestire la complessità crescente dei giochi moderni. Sei appassionato di videogiochi? Hai mai pensato a come vengono progettati e sviluppati? Sei curioso di scoprire i segreti dietro la creazione dei tuoi giochi preferiti? Allora sei nel posto giusto! Questo corso è stato progettato per fornirti una solida comprensione dei Design Pattern, strumenti fondamentali per ogni sviluppatore di giochi. Attraverso esempi pratici e realistici, esploreremo insieme come questi pattern possono aiutarti a creare giochi più efficienti, flessibili e mantenibili.

Corso Fondamenti di Python

Python, uno dei linguaggi di programmazione più popolari al mondo, è ampiamente utilizzato da colossi dell’informatica e della tecnologia come Google, la Nasa e Mozilla.
Questo corso sui fondamenti di Python esplorerà le ragioni del suo successo duraturo. Impareremo la potente ed espressiva sintassi di Python, che consente di ottenere risultati impressionanti con poche righe di codice.

Blender Masterclass 2

I paesaggi, in generale, possono risultare intimidatori data la loro complessità, costituita da numerosi elementi che sembrano formare qualcosa di virtualmente infinito. Durante le lezioni di questo corso, ci concentreremo su una scomposizione delle diverse fasi coinvolte nella creazione di una scena, affrontandole una alla volta attraverso passi graduati.

Blender Masterclass 1

In questo corso di Blender 3D, Masha, in collaborazione con Gedemy, vi mostrerà il processo di modellazione, UV mapping, shading, e texture painting di un asset. Una volta apprese le basi, vedremo anche come effettuare il baking delle textures e la preparazione con successivo export della mesh in modo che possa essere utilizzabile all’interno di un qualsiasi altro software.

Crea il tuo account gratuito Gedemy

Gedemy è la prima piattaforma di formazione italiana che ti permette di sviluppare competenze in ambiti come Game Design, Programming, Arte, 3D, Tech, AI e molto altro.