Lavorare con CSV-file (Comma-Separated Values) è un compito comune nella programmazione, che si manifesta in molte applicazioni pratiche. Che tu stia recuperando dati dalle API o gestendo scorte — la possibilità di leggere e scrivere file CSV è indispensabile. In questa guida imparerai come elaborare efficacemente i file CSV con Python. Esamineremo la creazione di file CSV, la lettura dei dati e la manipolazione di questi dati.
Principali risultati
- Panoramica del modulo: Python offre un modulo CSV integrato che fornisce CSV-Reader e Writer.
- Struttura dei dati: Puoi utilizzare sia liste che dizionari per memorizzare e elaborare i dati.
- Gestione E/A efficiente: Usa with open(...) per gestire l'accesso ai file, così non dovrai preoccuparti di chiudere i file.
Guida passo passo
Creare una directory e un file CSV
Inizia creando una directory vuota. In questa directory dovresti creare un file chiamato csvdateien.py. Questo file sarà il tuo script principale per lavorare con i file CSV.

All'interno del tuo file Python puoi creare il file CSV utilizzando il nome produkte.csv. In questo file definirai le colonne con le intestazioni ID prodotto, Nome, Prezzo e Disponibilità.

Il file CSV potrebbe apparire come segue:
ID prodotto,Nome,Prezzo,Disponibilità 1,iPad,399,50 2,Nerfgun,29.99,100
Leggere un file CSV
Per leggere i dati dal file produkte.csv, hai bisogno del modulo CSV. Questo modulo ti permette di elaborare i dati CSV in modo efficiente. Puoi convertire i dati in un formato leggibile utilizzando with open(...). Questo evita di dover chiudere manualmente gli oggetti file e rende il tuo codice più pulito e sicuro.
Nel passo successivo creerai un CSV-Reader. Questo ti permette di scorrere il file riga per riga ed estrarre i dati:
with open('produkte.csv', newline='', encoding='utf-8') as csvfile: csvreader = csv.reader(csvfile) for row in csvreader: print(row)

Qui ogni riga viene letta come una lista, il che dimostra che i dati sono strutturati come previsto. Ogni riga corrisponde a un prodotto e contiene informazioni su ID, Nome, Prezzo e Disponibilità.
Utilizzo dei dizionari per una gestione dei dati più intuitiva
Per gestire i dati in modo più semplice e intuitivo, dovresti utilizzare il formato dizionario. Con un dizionario-reader puoi semplificare l'accesso ai tuoi dati tramite i nomi dei campi.

Qui hai anche bisogno di with open(...), per aprire il file e creare il CSV-Reader. Assicurati di specificare una lista dei campi che desideri leggere:

Ora puoi semplicemente accedere ai campi tramite i loro nomi. Questo rende la tua elaborazione di molto più accessibile.
Scrivere un file CSV
Per scrivere i tuoi dati in un file CSV, puoi utilizzare un oggetto dizionario-writer. Hai la possibilità di creare una lista di dizionari che rappresentano i tuoi dati.

Ecco un semplice esempio di come puoi salvare una lista di supereroi come file CSV:
with open('superhelden.csv', 'w', newline='') as csvfile: fieldnames = ['Nome', 'Alias'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

Il file superhelden.csv verrà ora creato e conterrà i dati dei supereroi in un formato ben strutturato e leggibile.
Conclusione e applicazione pratica
I file CSV sono uno strumento prezioso per lo scambio di dati, spesso necessario nella pratica. Questa guida ti fornisce le basi per l'elaborazione di file CSV con Python. Hai imparato come leggere dati da file CSV, elaborarli in Python e scrivere i tuoi dati nel formato CSV.
Riepilogo – Elaborazione di file CSV con Python
I file CSV sono un formato importante per lo scambio di dati in molte applicazioni. Con Python puoi lavorare in modo efficiente e semplice con questi file. Una volta comprese le basi, puoi facilmente applicare queste tecniche a applicazioni di dati complesse.
Domande frequenti
Come apro un file CSV in Python?Puoi aprire un file CSV in Python utilizzando with open('filename.csv', 'r'):
Come posso scrivere dati in un file CSV?Per fare ciò, devi utilizzare l'oggetto csv.writer o csv.DictWriter per formattare i dati e scriverli nel file.
Qual è la differenza tra csv.reader e csv.DictReader?Il csv.reader legge i dati come liste, mentre il csv.DictReader restituisce i dati come dizionari con i nomi dei campi come chiavi.
Come posso impostare l'intestazione in un file CSV?L'intestazione può essere specificata con writeheader() quando si scrive un file CSV tramite il Writer.
Come leggo un file CSV con nomi di campo personalizzati?Passa una lista dei nomi di campo desiderati quando crei un csv.DictReader.