La guida definitiva: come leggere file csv con panda
I file CSV (valori separati da virgole) sono uno dei modi più comuni per archiviare i dati.
Fortunatamente, la funzione read_csv() di panda ti consente di leggere facilmente file CSV in Python in quasi tutti i formati desiderati.
Questo tutorial spiega diversi modi per leggere i file CSV in Python utilizzando il seguente file CSV denominato “data.csv” :
playerID,team,points 1,Lakers,26 2,Mavs,19 3,Bucks,24 4,Spurs,22
Esempio 1: leggere il file CSV nel DataFrame di panda
Il codice seguente mostra come leggere il file CSV in un DataFrame panda:
#import CSV file as DataFrame df = pd. read_csv ('data.csv') #view DataFrame df playerID team points 0 1 Lakers 26 1 2 Mavs 19 2 3 Bucks 24 3 4 Spurs 22
Esempio 2: leggere colonne specifiche da un file CSV
Il codice seguente mostra come leggere solo le colonne etichettate “playerID” e “points” dal file CSV in un DataFrame panda:
#import only specific columns from CSV file df = pd. read_csv ('data.csv', usecols=[' playerID ',' points ']) #view DataFrame df playerID points 0 1 26 1 2 19 2 3 24 3 4 22
Puoi anche specificare gli indici di colonna da leggere in un DataFrame panda:
#import only specific columns from CSV file df = pd. read_csv (' data.csv ', usecols=[ 0,1 ]) #view DataFrame df playerID team 0 1 Lakers 1 2 Mavs 2 3 Bucks 3 4 Spurs
Esempio 3: specificare la riga di intestazione durante l’importazione di un file CSV
In alcuni casi, la riga di intestazione potrebbe non essere la prima riga in un file CSV.
Ad esempio, considera il seguente file CSV in cui la riga di intestazione appare effettivamente nella seconda riga:
random,data,values
playerID,team,points
1,Lakers,26
2,Mavs,19
3,Bucks,24
4,Spurs,22
Per leggere questo file CSV in un DataFrame panda, possiamo specificare header=1 come segue:
#import from CSV file and specify that header starts on second row df = pd. read_csv ('data.csv', header= 1 ) #view DataFrame df playerID team points 0 1 Lakers 26 1 2 Mavs 19 2 3 Bucks 24 3 4 Spurs 22
Esempio 4: salta le righe durante l’importazione di un file CSV
Puoi anche saltare facilmente le righe durante l’importazione di un file CSV utilizzando l’argomento skiprows .
Ad esempio, il codice seguente mostra come ignorare la seconda riga durante l’importazione del file CSV:
#import from CSV file and skip second row df = pd. read_csv ('data.csv', skiprows=[ 1 ] ) #view DataFrame df playerID team points 0 2 Mavs 19 1 3 Bucks 24 2 4 Spurs 22
E il codice seguente mostra come ignorare la seconda e la terza riga durante l’importazione del file CSV:
#import from CSV file and skip second and third rows df = pd. read_csv ('data.csv', skiprows=[ 1,2 ] ) #view DataFrame df playerID team points 1 3 Bucks 24 2 4 Spurs 22
Esempio 5: leggere file CSV con un delimitatore personalizzato
A volte potresti avere un file CSV con un delimitatore diverso da una virgola.
Ad esempio, supponiamo che il nostro file CSV abbia un carattere di sottolineatura come delimitatore:
playerID_team_points
1_Lakers_26
2_Mavs_19
3_Bucks_24
4_Spurs_22
Per leggere questo file CSV in Panda, possiamo usare l’argomento sep per specificare il delimitatore da utilizzare durante la lettura del file:
#import from CSV file and specify delimiter to use df = pd. read_csv ('data.csv', sep=' _ ') #view DataFrame df playerID team points 0 1 Lakers 26 1 2 Mavs 19 2 3 Bucks 24 3 4 Spurs 22
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni dei panda:
Come leggere un file di testo con Pandas
Come leggere file Excel con Panda
Come leggere i file TSV con Panda
Come leggere le tabelle HTML con Pandas