1 - A propos des Fichiers CSV
Le sigle CSV signifie 'comma separated values' qui veut dire 'valeurs séparées par des virgules', qui est défini comme un format de fichier simple qui utilise une structuration spécifique pour organiser les données tabulaires. Il stocke des données tabulaires telles qu'une feuille de calcul ou une base de données en texte brut et a un format commun pour l'échange de données. Le fichier csv s'ouvre sous forme d'une feuille Excel et les données des lignes et des colonnes définissent le format standard.
2 - Comment stocker les données sur un fichiers csv
Prenons un petit exemple simple d'une table sql formée de colonne et quelque enregistrements. Pour stocker les données de cette table, le principe est très simple, il suffit de mettre chaque ligne de la table dans une ligne séparée sur le fichier csv et de séparer les valeurs par une virgule: d'où le sigle CSV, comma separated values' qui veut dire 'valeurs séparées par des virgules'
3 - Fonctions associées au module Python CSV
Le module CSV consiste à gérer les fichiers CSV pour lecture, écriture et obtention des données à partir des colonnes spécifiées. Il existe différents types de fonctions CSV:
- csv.field_size_limit: Il renvoie la taille de champ maximale actuelle autorisée par l'analyseur.
- csv.get_dialect: Renvoie le dialecte associé à un nom.
- csv.list_dialects: Renvoie les noms de tous les dialectes enregistrés.
- csv.reader: Lire les données d'un fichier csv
- csv.register_dialect: Il associe le dialecte à un nom, et le nom doit être une chaîne ou un objet Unicode.
- csv.writer: Écrire les données dans un fichier csv
- csv.unregister_dialect: Il supprime le dialecte qui est associé au nom du registre de dialecte. Si un nom n'est pas un nom de dialecte enregistré, une erreur est déclenchée.
- csv.QUOTE_ALL: Il demande aux objets écrivain de citer tous les champs.
- csv.QUOTE_MINIMAL: Il instruit les objets écrivain pour ne citer que les champs qui contiennent des caractères spéciaux tels que quotechar, delimiter, etc.
- csv.QUOTE_NONNUMERIC: Il demande aux objets écrivain de citer tous les champs non numériques.
- csv.QUOTE_NONE: Il indique à l'objet écrivain de ne jamais citer les champs.
4 - Lecture d'un fichier csv
4.1 - Lecture sous forme d'une liste via la méthode csv.reader()
Pour extraire des données d'un fichier CSV, vous devez utiliser la fonction de lecture csv.reader pour générer un objet contenant les données de lecture.
La méthode de lecture csv.reader est conçue pour prendre chaque ligne du fichier et faire une liste de toutes les colonnes. Ensuite, vous choisissez simplement la colonne pour laquelle vous voulez obtenir les données sous forme de variables.
Cela semble beaucoup plus compliqué qu'il ne l'est. Pour le prouver, regardons un exemple:
Essayons de lire le contenu d'un fichier nommé data.csv:
Exemple: lecture totale
Ce qui affiche le contenu total du fichiers csv où chaque ligne est représentée par une liste.
[' ID ', ' Nom ', ' Age ', ' Taille']
[' 1 ', ' Natalie ', ' 22 ', ' 170']
[' 2 ', ' Robert ', ' 37 ', ' 190']
[' 3 ', ' Bernard\t ', ' 29 ', ' 181']
Exemple lecture d'une colonne spécifique
Ce qui affiche la liste des noms de la table.
4.2 - Lecture sous forme d'un dictionnaire via la méthode csv.Dictreader()
Pour lire un fichier csv sous forme d'un dictionnaire, le principe est le même que celui du paragraphe précédent, mais à la différence de remplacer la méthode csv.reader() par la méthode csv.DictReader():
Ce qui affiche après exécution:
OrderedDict([(' ID', ' 1 '), (' Nom ', ' Natalie '), (' Age ', ' 22 '), (' Taille', ' 170')])
OrderedDict([(' ID', ' 2 '), (' Nom ', ' Robert '), (' Age ', ' 37 '), (' Taille', ' 190')])
OrderedDict([(' ID', ' 3 '), (' Nom ', ' Bernard '), (' Age ', ' 29 '), (' Taille', ' 181')])
4.3 - Lecture d'un fichier CSV avec Pandas
Pandas est une bibliothèque open source qui vous permet d'effectuer des manipulations de données en Python, elle vous offrent un moyen facile de créer, manipuler et supprimer les données. Vous devez installer la bibliothèque pandas avec la commande :
Sous Windows, vous exécuterez cette commande dans l'invite de commande, tandis que sous Linux dans le terminal.
La lecture d'un CSV dans un DataFrame pandas est très rapide et facile:
Ce qui affiche:
ID Nom Age Taille
0 1 Walid 19 180
1 2 Najib 30 185
2 3 Majda 27 175
5 - Ecriture sur fichier CSV
Pour écrire sur un fichier csv en Python, on utilise la méthode: csv.writer() afin de créer un objet d'écriture et pour écrire une ligne, on utilise la méthode writerow():
Exemple:
6 - Lecture d' un fichier csv avec Panda
Pandas permet aussi d'écrire sur un fichier csv des données provenant d'un dictionnaire Python via la classe DataFrame.
Exemple
Voici les données qui seront écrites sur le fichiers Pandaresult.csv:
ID Nom Age Taille
0 1 Robert 23 180
1 2 Albert 37 175
2 3 Natalie 21 170
7 - Conclusion
J'espère que maintenant vous avez appris les différentes techniques permettant de lire & écrire sur des fichiers csv. Les fichiers CSV sont largement utilisés dans les applications logicielles car ils sont faciles à lire et à gérer, et leur petite taille les rend relativement rapides pour le traitement et la transmission des données.
Le module csv fournit diverses méthodes et classes qui vous permettent de lire et d'écrire facilement sur un fichier csv. Et si vous souhaitez approfondir vos connaissances à propos du module csv, vous pouvez consulter la documentation officielle de Python. Nous pouvons donc conclure que CSV est le meilleur moyen pour enregistrer, visualiser et envoyer des données.
Younes Derfoufi
CRMEF OUJDA
1 thought on “les Fichiers CSV En Python”