PYTHON: Gestire i file CSV con la libreria CVS

In python esiste la libreria CSV completa per gestire la lettura e scrittura dei file CSV, creando una lista per ogni riga del file letto ed accetando in ingresso una lista/tupla per ogni riga da scrivere.

Vediamo con un esempio la lettura di alcuni dati meteo e la conversione della temperatura da gradi celsius a gradi Fahrenheit.

Il file CSV in ingresso :

I commenti al codice spiegano tutto, in sostanza viene caricato il file datimeteo.csv visualizzato nell’immagine precedente, con il caricamento si ottiene un oggetto iterabile che tramite il for viene iterato riga per riga. Ad ogni iterazione il valore della temperatura che risiede nell’elemento 2 della lista cvs_reader, viene passato come argomento alla funzione convFareneit() la quale ritorna il valore di temperatura convertito.

A questo punto sempre durante l’iterazione della riga vengono copiati gli altri valori in una lista di tuple che poi useremo come fonte dati per la generazione del nuovo file CSV.

L’uso del comando try:/except ,consente allo script di non bloccarsi durante la lettura della prima riga del file dove risiedono i nomi dei campi, infatti la funzione convFareneit() tenterebbe di convertire il valore letto ‘temp’ in un numero float, generando un errore e bloccando lo script.

Alla fine dell’iterazione di tutte le righe viene creato un nuovo file CSV ed iterando la lista di touple creata con il nome di newdataset scriviamo riga per riga i nuovi valori. Il risultato nell’immagine sotto:

Il codice non e’ ottimizzato, infatti la conversione si potrebbe fare anche tramite delle funzioni comprension, ma lo scopo principale di questo articolo e’ quello di mostrare la lettura e scrittura di file CSV.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *