Python Pandas read_csv() est l’une des méthodes les plus utilisées pour charger des données depuis des fichiers CSV et les stocker dans un DataFrame. Les fichiers CSV (Comma-separated Values) sont un format largement utilisé pour stocker des données ta­bu­laires et sont supportés par de nombreux pro­grammes.

Syntaxe de Python Pandas read_csv()

La fonction pandas.read_csv() crée un Pandas DataFrame basé sur un fichier CSV. Elle peut recevoir une grande variété de pa­ra­mètres qui spé­ci­fient le com­por­te­ment de la fonction. Par souci de clarté, nous n’abor­de­rons ici que les arguments les plus im­por­tants et les plus fré­quem­ment utilisés. Pour une liste plus détaillée, consultez la do­cu­men­ta­tion Pandas dédiée.

La syntaxe de base de la fonction est simple et ressemble à ceci :

import pandas as pd
df = pd.read_csv(filepath_or_buffer, sep=',', header='infer', names=None, index_col=None, usecols=None, dtype=None, ...)
python

Pa­ra­mètres per­ti­nents

Vous trouverez ci-dessous un aperçu des pa­ra­mètres les plus im­por­tants :

Pa­ra­mètres Res­pon­sa­bi­lité Valeur par défaut
filepath_or_buffer C’est une chaîne Python (chemin d’accès au fichier) ou un tampon de fichier comme une URL.
sep Il s’agit du sé­pa­ra­teur entre les valeurs. ,
header Indique quelle ligne est utilisée comme en-tête. infer (première ligne)
names Si header=None est défini, vous pouvez utiliser names pour spécifier une liste Python de noms de colonnes.
index_col Détermine quelle colonne sera utilisée comme index. None
usecols Ce paramètre vous permet de sé­lec­tion­ner les colonnes que vous souhaitez charger dans le DataFrame. None
dtype Indique le type de données des colonnes. None

Guide pas à pas pour accéder aux fichiers CSV

En utilisant pandas.read_csv(), vous pouvez trans­fé­rer des données depuis des fichiers CSV en quelques étapes seulement dans Python.

Dans les exemples qui suivent, nous allons tra­vail­ler avec un fichier CSV selon le modèle suivant :

1,Maxime Mortier,35,Paris,50000
2,Anna Frelon,29,Lyon,62000
3,Pierre Corbet,41,Marseille,58000
4,Lisa Beaufort,33,Toulouse,49000
5,Tom Verron,28,Bordeaux,52000

Étape 1 : importer la bi­blio­thèque Pandas

Dans un premier temps, vous devez importer la bi­blio­thèque Pandas dans votre script Python.

import pandas as pd
python

Étape 2 : charger le fichier CSV

Vous pouvez main­te­nant charger votre fichier CSV avec la fonction Python Pandas read_csv(). Pour cela, il suffit de passer le chemin de fichier à la fonction. Dans l’exemple de code suivant, nous con­si­dé­rons un fichier nommé data.csv, qui est en­re­gis­tré dans le même ré­per­toire que le script :

df = pd.read_csv(data.csv')
python

Le code sau­ve­garde le fichier dans un objet DataFrame df, avec lequel vous pouvez main­te­nant continuer à tra­vail­ler. Pandas in­ter­prète au­to­ma­ti­que­ment la première ligne comme des en-têtes de colonne, sauf in­di­ca­tion contraire.

Étape 3 : afficher le fichier CSV

Pour s’assurer que le fichier a été cor­rec­te­ment chargé, il est utile de vi­sua­li­ser les premières lignes du DataFrame. Pour cela, vous pouvez utiliser la fonction DataFrame.head(). Elle affiche par défaut les cinq premières lignes du DataFrame. Cela permet d’avoir un aperçu rapide de la structure des données :

print(df.head())
python

La sortie est alors la suivante :

0 1 Max Mortier 35 Paris 50000
1 2 Anna Frelon 29 Lyon 62000
2 3 Pierre Corbet 41 Marseille 58000
3 4 Lisa Beaufort 33 Toulouse 49000
4 5 Tom Verron 28 Bordeaux 52000

Étape 4 : modifier le nom des colonnes (fa­cul­ta­tif)

Si votre fichier CSV n’a pas de ligne d’en-tête, vous pouvez définir ma­nuel­le­ment les noms des colonnes :

df = pd.read_csv('data.csv', header=None, names=['Colonne1', 'Colonne2', 'Colonne3', 'Colonne4', 'Colonne5'])
python

Dans cet exemple, les colonnes ont été nommées ma­nuel­le­ment Colonne1, Colonne2, Colonne3, Colonne4 et Colonne5. Le code renvoie le résultat :

Colonne1  Colonne2       Colonne3         Colonne4  Colonne5     Colonne6
0         1              Max Mortier      35        Paris        50000
1         2              Anna Frelon      29        Lyon         62000
2         3              Pierre Corbet    41        Marseille    58000
3         4              Lisa Beaufort    33        Toulouse     49000
4         5              Tom Verron       28        Bordeaux     52000
Aller au menu principal