Gestion des fichiers CSV dans Python

Gestion des fichiers CSV dans Python
Dans ce sujet, nous allons apprendre à lire et à écrire des fichiers CSV dans Python.

Définition: CSV (valeur séparée de virgule) 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. Dans 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 de famille, âge
Anand, Kumar, mathématiques, 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 de lecture
W -> Mode d'écriture
A -> Mode d'ajout

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

  • Ouvrir un fichier;
  • Lire, écrire ou ajouter. Lorsque nous spécifions le mode écriture, le fichier sera ouvert en mode écriture si le fichier existe, sinon, il va créer un fichier. Ceci est également applicable pour le mode annexe. En mode lecture, si un fichier existe, il ouvrira le fichier en mode lecture, sinon, il lève FileLoTFoundError à l'exception; et
  • Fermez le fichier.

Ouvrez un fichier CSV

Méthode intra-active ouverte () est utilisée.

Ex:

  • F = ouvert («Nom de fichier.csv "," r ") # dans CSV Python Default est le mode de lecture
  • F = ouvert («Nom de fichier.CSV ", 'W') # Mode d'écriture

Clôture d'un fichier

Méthode intégrée INBULT () est utilisée.

fp = ouvert ("nom de fichier.csv ", 'w')
# Effectuez des opérations de fichiers
fp.fermer()

Opérations de fichiers en utilisant avec

La meilleure façon d'effectuer le fonctionnement du fichier CSV, et la méthode la plus couramment utilisée, est la déclaration. L'utilisation de cela garantit que le fichier est fermé lorsque le bloc à l'intérieur est sorti.

Ex:

avec ouvert ('nom de fichier.CSV ',' W ', Encoding =' UTF-8 ') en tant que FP:
# Perform certaines opérations de fichiers
#stax à l'extérieur du bloc avec

Lorsque nous quittons avec un bloc, le fichier sera fermé automatiquement.

Écrire dans un fichier CSV

Pour écrire dans un fichier CSV, nous devons l'ouvrir dans l'écriture «W» ou Ajouter »un mode».

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

Importer CSV
avec ouvert ('nom de fichier.csv ',' r ') comme fp:
lecteur = CSV.Fichier de lecteur (FP) #read
avec ouvert ('newFilename.csv ',' w ') as fq:
écrivain = CSV.écrivain (fq, délimiter = '-')
pour la ligne dans lecteur: #to iterrate sur chaque ligne
écrivain.writerow (ligne) #write line vers un nouveau fichier

Utilisation de l'écrivain de dictionnaire

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

Importer CSV
avec ouvert ('nom de fichier.csv ',' r ') comme fp:
lecteur = CSV.Dictreader (FP) #Read Fichier
avec ouvert ('newFilename.csv ',' w ', newline = ") comme fq: #newline =" pour éviter d'ajouter une nouvelle ligne supplémentaire
ROW_NAMES = [«Prénom», «deuxième prénom», «nom de famille», «âge»]
écrivain = CSV.DictWriter (FQ, FieldNames = Row_Names, Delimiter = '-')
écrivain.WriteHeader () # Écriture de lignes de cap
Pour la ligne dans le lecteur:
écrivain.Writerow (ligne)

Writerrows ()

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 de famille», «âge»]
# lignes de données du fichier CSV
Rows = [['Anand', 'Kumar', 'Math', 31],
[«Sachin», «Ramesh», «Tendulakar», 40],
['Virendra', 'Sehwag', 'Singh', 38],
[«Rahul», «Dravid», «Xyz», 40]]
# Écriture dans le fichier CSV
avec ouvert ('newFilename.csv ',' w ') comme fp:
# Création d'un objet d'écrivain CSV
CSVWriter = CSV.écrivain (FP)
# Écrivez le titre
csvwriter.Writerow (Head_Names)
# Écrivez les lignes de données
csvwriter.Writerrows (lignes)

Lecture à partir du fichier

Pour lire le fichier CSV dans Python, nous devons ouvrir le fichier en mode de lecture 'R'. Ex:

Importer CSV
avec ouvert ('nom de fichier.csv ',' r ') comme fp:
données = csv.lecteur (FP)
#Default Delimiter est une virgule, si le CSV séparé par un autre délimiteur doit spécifier
#Ex data = csv.lecteur (FP, Demiter = '-')
Imprimer (données) # Il renvoie l'objet
#skipping L'en-tête
Suivant (données) #Pall Next Method of Generator
pour la ligne dans les données: #to iterrate sur chaque ligne
Imprimer (ligne) # Imprimez chaque valeur dans une liste
fp.Cherchez (0) # Amener le curseur à la première ligne
pour la ligne de données:
Imprimer (ligne [0]) # Imprimez uniquement les prénoms

Utilisation de Dictionary Reader

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

Importer CSV
avec ouvert ('nom de fichier.csv ',' r ') comme fp:
lecteur = CSV.Dictreader (FP) #Read Fichier
Pour la ligne dans le lecteur:
imprimer (ligne) # print chaque ligne sous forme de dictaire
fp.Cherchez (0) # Amener le curseur à la première ligne
pour les données dans le lecteur:
Imprimer (données ['Âge']) # Nous ne pouvons imprimer qu'à l'âge en utilisant la clé «Age»

Conclusion

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