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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *