Les fichiers CSV (Comma-Separated Values) sont parmi les formats de données les plus courants pour stocker et échanger des données tabulaires. Python propose une bibliothèque standard riche et flexible pour manipuler ces fichiers. Dans cet article, nous allons explorer comment parcourir efficacement un fichier CSV en utilisant Python.
Pour manipuler un fichier CSV en Python, nous utilisons le module csv
de la bibliothèque standard. Il fournit des fonctionnalités pour lire et écrire des fichiers CSV de manière simple et efficace. Voici comment importer le module :
import csv
Avant de pouvoir parcourir le contenu d’un fichier CSV, nous devons l’ouvrir en mode lecture. Python fournit la fonction open()
pour cela. Assurez-vous de spécifier le mode d’ouverture comme 'r'
(lecture). Voici comment ouvrir un fichier CSV en lecture :
with open('fichier.csv', 'r') as fichier_csv:
# Code pour la lecture du fichier CSV
pass # Placeholder pour le moment
Assurez-vous de remplacer 'fichier.csv'
par le chemin relatif ou absolu de votre fichier CSV.
Une fois que le fichier est ouvert, nous utilisons la méthode reader()
du module csv
pour créer un objet lecteur CSV. Cet objet nous permet de parcourir les lignes du fichier CSV une par une. Voici comment utiliser reader()
:
with open('fichier.csv', 'r') as fichier_csv:
lecteur_csv = csv.reader(fichier_csv)
for ligne in lecteur_csv:
print(ligne) # Affiche chaque ligne du fichier CSV
Chaque ligne est renvoyée en tant que liste Python, où chaque élément correspond à une colonne dans le fichier CSV.
Une fois que nous avons lu les données CSV dans notre programme Python, nous pouvons les manipuler selon nos besoins. Par exemple, pour accéder à des éléments spécifiques dans chaque ligne, nous utilisons l’indexation des listes. Voici un exemple :
with open('fichier.csv', 'r') as fichier_csv:
lecteur_csv = csv.reader(fichier_csv)
for ligne in lecteur_csv:
print(f"Nom: {ligne[0]}, Âge: {ligne[1]}, Email: {ligne[2]}")
Dans cet exemple, nous supposons que la première colonne contient les noms, la deuxième les âges et la troisième les adresses e-mail.
Parfois, il est utile de traiter les données CSV sous forme de dictionnaires, où les clés sont les en-têtes de colonne. Pour cela, nous utilisons DictReader
au lieu de reader
. Voici comment cela fonctionne :
with open('fichier.csv', 'r') as fichier_csv:
lecteur_csv = csv.DictReader(fichier_csv)
for ligne in lecteur_csv:
print(f"Nom: {ligne['Nom']}, Âge: {ligne['Âge']}, Email: {ligne['Email']}")
Cette méthode est pratique lorsque le fichier CSV a une première ligne contenant les en-têtes de colonne.
Voici quelques exemples pratiques de parcours de fichiers CSV en Python :
Supposons que vous ayez un fichier CSV contenant les données des ventes de votre entreprise, avec des colonnes pour la date, le produit vendu et le montant de la vente. Vous pourriez utiliser Python pour lire ce fichier CSV et calculer le total des ventes pour chaque produit.
import csv
ventes_par_produit = {}
with open('ventes.csv', 'r') as fichier_csv:
lecteur_csv = csv.DictReader(fichier_csv)
for ligne in lecteur_csv:
produit = ligne['Produit']
montant = float(ligne['Montant'])
if produit in ventes_par_produit:
ventes_par_produit[produit] += montant
else:
ventes_par_produit[produit] = montant
for produit, total_ventes in ventes_par_produit.items():
print(f"Total des ventes pour {produit}: {total_ventes}")
Imaginons un fichier CSV contenant les informations sur les étudiants, telles que leur nom, leur âge et leurs notes dans différentes matières. Vous pourriez utiliser Python pour calculer la moyenne des notes de chaque étudiant.
import csv
notes_par_etudiant = {}
with open('etudiants.csv', 'r') as fichier_csv:
lecteur_csv = csv.DictReader(fichier_csv)
for ligne in lecteur_csv:
etudiant = ligne['Nom']
note = float(ligne['Note'])
if etudiant in notes_par_etudiant:
notes_par_etudiant[etudiant].append(note)
else:
notes_par_etudiant[etudiant] = [note]
for etudiant, notes in notes_par_etudiant.items():
moyenne = sum(notes) / len(notes)
print(f"Moyenne de {etudiant}: {moyenne}")
Supposons que vous ayez un fichier CSV contenant des informations sur les produits d’une boutique en ligne, y compris leur nom, leur prix et leur disponibilité. Vous pourriez utiliser Python pour filtrer les produits qui sont en stock et dont le prix est inférieur à une certaine valeur.
import csv
produits_en_stock_et_abordables = []
with open('produits.csv', 'r') as fichier_csv:
lecteur_csv = csv.DictReader(fichier_csv)
for ligne in lecteur_csv:
produit = ligne['Nom']
prix = float(ligne['Prix'])
en_stock = ligne['En Stock'] == 'Oui'
if en_stock and prix < 50:
produits_en_stock_et_abordables.append(produit)
print("Produits en stock et abordables:")
for produit in produits_en_stock_et_abordables:
print(produit)
Ces exemples illustrent comment vous pouvez utiliser Python pour parcourir efficacement un fichier CSV et effectuer diverses opérations de traitement de données en fonction de vos besoins spécifiques.
Voici quelques cas avancés illustrant des techniques plus avancées pour parcourir et manipuler des fichiers CSV en Python :
Pandas est une bibliothèque Python très populaire pour l’analyse de données. Elle fournit des structures de données puissantes, notamment le DataFrame, qui est idéal pour manipuler des données tabulaires telles que celles stockées dans des fichiers CSV. Voici un exemple de lecture d’un fichier CSV et de calcul de statistiques de base à l’aide de pandas :
import pandas as pd
# Lecture du fichier CSV dans un DataFrame
df = pd.read_csv('donnees.csv')
# Affichage des premières lignes du DataFrame
print(df.head())
# Calcul de la moyenne, de la médiane, etc.
moyenne = df['Colonne_numerique'].mean()
mediane = df['Colonne_numerique'].median()
ecart_type = df['Colonne_numerique'].std()
print(f"Moyenne : {moyenne}, Médiane : {mediane}, Écart-type : {ecart_type}")
Lorsque vous travaillez avec de très grands fichiers CSV qui ne rentrent pas en mémoire, vous pouvez utiliser l’itération sur les lignes du fichier plutôt que de charger le fichier entier en mémoire. Cela peut être fait à l’aide de la fonction csv.reader
avec un fichier ouvert normalement. Voici comment cela pourrait être fait :
import csv
# Ouvrir le fichier CSV
with open('donnees_volumineuses.csv', 'r') as fichier_csv:
# Créer un objet lecteur CSV
lecteur_csv = csv.reader(fichier_csv)
# Itérer sur les lignes du fichier
for ligne in lecteur_csv:
# Traiter chaque ligne individuellement
print(ligne)
Cela permet de traiter chaque ligne du fichier de manière séquentielle, ce qui est plus efficace en termes de consommation de mémoire.
writerows
pour écrire dans un fichier CSVSupposons que vous souhaitez créer un nouveau fichier CSV à partir de données générées ou manipulées dans votre programme Python. Vous pouvez utiliser la méthode writerows
pour écrire plusieurs lignes dans le fichier CSV en une seule instruction. Voici un exemple :
import csv
donnees = [
['Nom', 'Âge', 'Ville'],
['Alice', 30, 'Paris'],
['Bob', 25, 'Lyon'],
['Charlie', 35, 'Marseille']
]
with open('nouveau_fichier.csv', 'w', newline='') as fichier_csv:
# Créer un objet écrivain CSV
ecrivain_csv = csv.writer(fichier_csv)
# Écrire les lignes dans le fichier CSV
ecrivain_csv.writerows(donnees)
print("Fichier CSV créé avec succès.")
Dans cet exemple, la méthode writerows
écrit toutes les lignes de données contenues dans la liste donnees
dans le fichier CSV.
Ces exemples montrent quelques-unes des techniques avancées que vous pouvez utiliser pour manipuler et traiter des fichiers CSV en Python, en fonction de vos besoins spécifiques.
Parcourir un fichier CSV en Python est relativement simple grâce à la bibliothèque standard csv
. En suivant les étapes décrites dans cet article, vous pouvez lire efficacement les données tabulaires à partir d’un fichier CSV, les manipuler selon vos besoins et les intégrer dans votre application Python. La manipulation de fichiers CSV est une compétence importante pour tout développeur Python travaillant avec des données tabulaires.
Le commentaire composé est un exercice littéraire qui consiste à analyser un texte en respectant…
Les adjectifs liés en français sont les adjectifs qui s’accordent en genre (masculin/féminin) et en…
Voici une liste étendue de mots piégeux en français, avec leurs genres et des explications…
Apprendre à distinguer le genre des noms en français peut être un véritable défi pour…
1. Informations Générales Nom complet : Charles-Louis de Secondat, Baron de La Brède et de…
Introduction L’Art de la Guerre (Dell’arte della guerra), publié en 1521, est l’un des ouvrages…
This website uses cookies.