- analiticas
- Posts
- Come esportare i dati in .csv con pandas
Come esportare i dati in .csv con pandas
Esporta i tuoi dataframe in un formato universale
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.
Il programma della micro-lezione
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:
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.
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 👋