A volte esportare i dati in Excel non basta. Vuoi perchรฉ questi dati devono essere caricati su unโ€™applicazione (un sistema di email marketing, un CRM, ecc.) o perchรฉ quella รจ la policy aziendale, ci serve il formato .csv (comma-separate value).

In questa micro-lezione vedremo come esportare un dataframe in formato .csv con pandas.

La libreria e il dataframe

Importiamo la libreria pandas:

import pandas as pd

Ceiamo adesso un dataframe di esempio:

df = pd.DataFrame({
    'nome': ['Anna', 'Marco', 'Giulia'],
    'etร ': [25, 30, 28],
    'cittร ': ['Roma', 'Milano', 'Napoli']
})

Ecco qui il suo aspetto:

nome

etร 

cittร 

Anna

25

Roma

Marco

30

Milano

Giulia

28

Napoli

Esportare in formato .csv

Per esportare il nostro dataframe in un file di formato .csv, ci basterร  usare il comando to_csv().

Vediamo come:

df.to_csv('file.csv')

Con una sola riga di codice, abbiamo creato un file .csv chiamato 'file.csv'.

Il file sarร  salvato nella stessa cartella (o location) del nostro script Python.

I parametri avanzati

Vediamo rapidamente come personalizzare il nostro export, cosรฌ da ottenere il risultato che ci serve.

Infatti, to_csv() ha diversi parametri che possiamo modificare.

Omettere lโ€™indice

Come forse giร  saprai, ogni dataframe creato con pandas ha una colonna che funge da indice. Questa colonna viene aggiunta di default al nostro dataframe e appare per prima.

Il ruolo dellโ€™indice รจ di facilitare delle operazioni che possiamo eseguire con pandas. Quindi, nel caso di un export, potrebbe non servire a nulla.

Come escludiamo lโ€™indice dallโ€™export in formato .csv? Ci basta fare cosรฌ:

df.to_csv('file.csv', index=False)

Specificare il percorso del file .csv

Come detto in precedenza, il file .csv viene salvato nella stessa cartella che ospita lo script Python o il Notebook che stiamo eseguendo.

Per cambiare la destinazione del file, ci basta specificare il suo percorso:

df.to_csv('/Users/path/file.csv')

Cambiare il separatore

Di default, to_csv() usa la virgola come separatore per il nostro file .csv.

Se preferisci un altro carattere, puoi specificarlo cosรฌ:

df.to_csv('file.csv', sep=';')

Specificare l'encoding

Se per qualche ragione il file .csv dร  problemi legati ai caratteri speciali, possiamo specificare il parametro encoding:

df.to_csv('file.csv', encoding='utf-8-sig')

Esportare solo alcune colonne

E se volessimo esportare solo alcune colonne? In questo caso, abbiamo due opzioni:

  1. Possiamo creare una copia del nostro dataframe che contenga solo le colonne che vogliamo. Esporteremo poi questo nuovo dataframe in formato .csv come visto qui sopra.

  2. Possiamo specificare le colonne da includere nel file .csv direttamente allโ€™interno del comando to.csv():

df.to_csv('file.csv', columns=['nome', 'cittร '])

In questo modo, il file finale avrร  solo le colonne โ€œnomeโ€ e โ€œcittร โ€ (oltre a quella che funge da indice che non abbiamo rimosso in questo esempio).

Conclusione

Ecco qui tre osservazioni al volo su questo argomento:

  • L'esportazione in .csv รจ un ottimo modo per condividere i tuoi dati in un formato universale.

  • Ricordati sempre di controllare il file .csv dopo l'esportazione per assicurarti che tutto sia come desideri.

  • Il formato .csv รจ piรน leggero rispetto a Excel, quindi รจ preferibile per grandi quantitร  di dati.

Alla prossima micro-lezione ๐Ÿ‘‹ย