Le guide ultime : comment lire des fichiers CSV avec Pandas
Les fichiers CSV (valeurs séparées par des virgules) sont l’un des moyens les plus courants de stocker des données.
Heureusement, la fonction pandas read_csv() vous permet de lire facilement des fichiers CSV en Python dans presque tous les formats de votre choix.
Ce tutoriel explique plusieurs façons de lire des fichiers CSV en Python à l’aide du fichier CSV suivant nommé « data.csv » :
playerID,team,points 1,Lakers,26 2,Mavs,19 3,Bucks,24 4,Spurs,22
Exemple 1 : Lire le fichier CSV dans le DataFrame pandas
Le code suivant montre comment lire le fichier CSV dans un DataFrame pandas :
#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
Exemple 2 : Lire des colonnes spécifiques à partir d’un fichier CSV
Le code suivant montre comment lire uniquement les colonnes intitulées « playerID » et « points » dans le fichier CSV dans un DataFrame pandas :
#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
Vous pouvez également spécifier des index de colonnes à lire dans un DataFrame pandas :
#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
Exemple 3 : spécifier la ligne d’en-tête lors de l’importation d’un fichier CSV
Dans certains cas, la ligne d’en-tête peut ne pas être la première ligne d’un fichier CSV.
Par exemple, considérons le fichier CSV suivant dans lequel la ligne d’en-tête apparaît en fait dans la deuxième ligne :
random,data,values
playerID,team,points
1,Lakers,26
2,Mavs,19
3,Bucks,24
4,Spurs,22
Pour lire ce fichier CSV dans un DataFrame pandas, nous pouvons spécifier header=1 comme suit :
#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
Exemple 4 : ignorer des lignes lors de l’importation d’un fichier CSV
Vous pouvez également facilement ignorer des lignes lors de l’importation d’un fichier CSV en utilisant l’argument skiprows .
Par exemple, le code suivant montre comment ignorer la deuxième ligne lors de l’importation du fichier 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
Et le code suivant montre comment ignorer les deuxième et troisième lignes lors de l’importation du fichier 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
Exemple 5 : Lire des fichiers CSV avec un délimiteur personnalisé
Parfois, vous pouvez avoir un fichier CSV avec un délimiteur différent d’une virgule.
Par exemple, supposons que notre fichier CSV ait un trait de soulignement comme délimiteur :
playerID_team_points
1_Lakers_26
2_Mavs_19
3_Bucks_24
4_Spurs_22
Pour lire ce fichier CSV dans pandas, nous pouvons utiliser l’argument sep pour spécifier le délimiteur à utiliser lors de la lecture du fichier :
#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
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes chez les pandas :
Comment lire un fichier texte avec Pandas
Comment lire des fichiers Excel avec Pandas
Comment lire des fichiers TSV avec Pandas
Comment lire des tableaux HTML avec Pandas