Python

Gestion des fichiers CSV en Python

Gestion des fichiers CSV en Python
Dans cette rubrique, nous allons apprendre à lire et à écrire des fichiers CSV en python.

Définition: CSV (valeur séparée par des virgules) est similaire à un fichier texte où les données stockées sont séparées par un délimiteur (généralement une virgule). Chaque champ est séparé par un délimiteur. En Python, les fichiers CSV sont traités à l'aide du module CSV. Donc, nous devons importer ce module.

Ex: importer csv

L'exemple ci-dessous montre la façon dont les données sont stockées dans un fichier CSV. Ici, une virgule est utilisée comme délimiteur.

Nom de fichier : person_info.csv
prénom, deuxième prénom, nom, âge
Anand, kumar, maths, 31
Sachin,ramesh,tendulakar,40
Virendra, sehwag, singh, 38
Rahul, dravid, xyz, 40

Le fichier CSV peut être ouvert dans l'un des modes suivants :
r -> mode lecture
w -> mode d'écriture
a -> mode ajout

En Python, une opération de fichier est effectuée dans l'ordre suivant :

Ouvrir un fichier csv

La méthode intégrée open() est utilisée.

Ex:

Fermeture d'un fichier

La méthode intégrée close() est utilisée.

fp = open("nom de fichier.csv",'w')
# effectuer certaines opérations sur les fichiers
fp.Fermer()

Opérations sur les fichiers utilisant avec

La meilleure façon d'effectuer une opération de fichier CSV, et la méthode la plus couramment utilisée, consiste à utiliser l'instruction. L'utilisation de ceci garantit que le fichier est fermé lorsque le bloc à l'intérieur avec est quitté.

Ex:

avec open('nom de fichier.csv', 'w', encoding = 'utf-8') en tant que fp :
#effectuer certaines opérations sur les fichiers
#instructions en dehors du bloc with

Lorsque nous sortons avec block, le fichier sera fermé automatiquement.

Écrire dans un fichier CSV

Pour écrire dans un fichier CSV, nous devons l'ouvrir en mode écriture 'w' ou ajouter 'a'.

Dans l'exemple ci-dessous, nous allons lire à partir d'un fichier et écrire dans un nouveau fichier.

importer csv
avec open('nom de fichier.csv','r') en tant que fp :
lecteur = csv.lecteur(fp)#lire le fichier
avec open('nouveau nom de fichier.csv','w') en tant que fq :
écrivain = csv.écrivain(fq, délimiteur = '-')
pour la ligne dans le lecteur : # Pour itérer sur chaque ligne
écrivain.writerow(line)#écrire la ligne dans un nouveau fichier

Utiliser le rédacteur de dictionnaire

Dans l'exemple ci-dessous, nous allons lire à partir d'un fichier et écrire dans un nouveau fichier à l'aide de la méthode DictWriter().

importer csv
avec open('nom de fichier.csv','r') en tant que fp :
lecteur = csv.DictReader(fp)#lire le fichier
avec open('nouveau nom de fichier.csv','w',newline=") as fq:#newline =" pour éviter d'ajouter une nouvelle ligne supplémentaire
row_names = ['prénom','deuxième prénom','nom','âge']
écrivain = csv.DictWriter(fq, fieldnames = row_names, delimiter = '-')
écrivain.writeheader()#écrire les lignes d'en-tête
pour la ligne dans le lecteur :
écrivain.écrireligne(ligne)

Writerows()

Cette méthode écrit plusieurs lignes à la fois ; nous devons passer une liste de listes. Ex:

importer csv
head_names = ['prénom','deuxième prénom','nom','âge']
# lignes de données du fichier csv
lignes = [['Anand','kumar','math',31],
['Sachin','ramesh','tendulakar',40],
['Virendra','sehwag','singh',38],
['Rahul','dravid','xyz',40]]
# écriture dans un fichier csv
avec open('nouveau nom de fichier.csv', 'w') en tant que fp :
# création d'un objet écrivain csv
csvwriter = csv.écrivain(fp)
# écrire le titre
csvwriter.writerow(head_names)
# écrire les lignes de données
csvwriter.écrirelignes(lignes)

Lecture à partir d'un fichier

Pour lire le fichier CSV en Python, il faut ouvrir le fichier en mode lecture 'r'. Ex:

importer csv
avec open('nom de fichier.csv','r') en tant que fp :
données = csv.lecteur(fp)
# le délimiteur par défaut est une virgule, si csv séparé par un autre délimiteur doit être spécifié
#Ex données = csv.lecteur(fp, délimiteur = '-')
print(data) # il renvoie l'objet
#sauter l'en-tête
next(data)#call la méthode suivante du générateur
pour la ligne dans les données : # Pour itérer sur chaque ligne
print(line) # imprime chaque valeur dans une liste
fp.seek(0)# amène le curseur à la première ligne
pour la ligne dans les données :
print(line[0])# n'affiche que les prénoms

Utiliser le lecteur de dictionnaire

Pour lire le fichier csv à l'aide de la méthode DictReader().

importer csv
avec open('nom de fichier.csv','r') en tant que fp :
lecteur = csv.DictReader(fp)#lire le fichier
pour la ligne dans le lecteur :
print(line)#imprimer chaque ligne sous forme de dictionnaire
fp.seek(0)# amène le curseur à la première ligne
pour les données dans le lecteur :
print(data['age'])#nous ne pouvons imprimer que l'âge en utilisant la clé 'age'

Conclusion

Nous avons appris à lire et à écrire un fichier en utilisant le module CSV. Le fichier CSV est le format de fichier le plus couramment utilisé dans l'industrie de l'automatisation car il est facile à lire et à modifier les données. De plus, Pandas est une autre méthode que nous pouvons utiliser pour traiter les fichiers CSV.

Moteurs de jeux gratuits et open source pour le développement de jeux Linux
Cet article couvrira une liste de moteurs de jeux gratuits et open source qui peuvent être utilisés pour développer des jeux 2D et 3D sur Linux. Il ex...
Tutoriel Shadow of the Tomb Raider pour Linux
Shadow of the Tomb Raider est le douzième ajout à la série Tomb Raider - une franchise de jeux d'action-aventure créée par Eidos Montréal. Le jeu a ét...
Comment booster les FPS sous Linux?
FPS signifie Images par seconde. La tâche du FPS est de mesurer la fréquence d'images dans les lectures vidéo ou les performances de jeu. En termes si...