Python

Tutoriel Python : Importation, Lecture et Modification de Fichiers CSV

×

Recommandés

Dans ce tutoriel, nous allons explorer comment importer, lire et modifier des fichiers CSV en utilisant Python. Les fichiers CSV (Comma-Separated Values) sont couramment utilisés pour stocker des données tabulaires, et Python offre des bibliothèques puissantes pour travailler avec ces fichiers.

Importation de la bibliothèque CSV

La première étape consiste à importer la bibliothèque CSV de Python. Cette bibliothèque nous fournit des fonctionnalités pour lire et écrire des fichiers CSV.

import csv
Lecture d’un fichier CSV

Pour lire un fichier CSV, nous utiliserons la fonction reader() de la bibliothèque CSV. Cette fonction parcourt chaque ligne du fichier CSV et renvoie un objet itérable que nous pouvons parcourir pour accéder aux données.

Supposons que nous avons un fichier CSV appelé donnees.csv avec les données suivantes :

nom,prenom,age
Alice,Jones,30
Bob,Smith,25
Charlie,Brown,35

Voici comment lire ce fichier CSV en Python :

with open('donnees.csv', 'r', newline='') as csvfile:
    lecteur_csv = csv.reader(csvfile)
    for ligne in lecteur_csv:
        print(ligne)

Cela affichera chaque ligne du fichier CSV sous forme de liste.

Modification d’un fichier CSV

Pour modifier un fichier CSV, nous pouvons lire les données, effectuer les modifications nécessaires, puis écrire à nouveau les données dans un nouveau fichier CSV ou écraser le fichier existant.

Supposons que nous voulons ajouter une nouvelle colonne « ville » à notre fichier CSV. Voici comment nous pouvons le faire :

with open('donnees.csv', 'r', newline='') as csvfile:
    lecteur_csv = csv.reader(csvfile)
    donnees = list(lecteur_csv)

# Ajout de la colonne "ville"
for ligne in donnees:
    if ligne[0] == 'nom':
        ligne.append('ville')
    else:
        ligne.append('')

# Écriture des données modifiées dans un nouveau fichier CSV
with open('donnees_modifiees.csv', 'w', newline='') as csvfile:
    ecrivain_csv = csv.writer(csvfile)
    for ligne in donnees:
        ecrivain_csv.writerow(ligne)

Dans cet exemple, nous avons ajouté une colonne vide « ville » à chaque ligne, sauf à la première ligne qui contient les en-têtes. Ensuite, nous avons écrit ces données modifiées dans un nouveau fichier CSV appelé donnees_modifiees.csv.

Voici quelques exemples de manipulations courantes que vous pouvez effectuer sur des fichiers CSV en utilisant Python :

Filtrer les données

Supposons que vous ayez un fichier CSV contenant des données sur les employés, et vous voulez filtrer les employés âgés de moins de 30 ans :

import csv

with open('employes.csv', 'r', newline='') as csvfile:
    lecteur_csv = csv.reader(csvfile)
    for ligne in lecteur_csv:
        if int(ligne[2]) < 30:  # Vérifie l'âge (supposé être à l'index 2)
            print(ligne)
Calculer des statistiques

Supposons que vous ayez un fichier CSV contenant des données de ventes, et vous voulez calculer le total des ventes :

import csv

total_ventes = 0

with open('ventes.csv', 'r', newline='') as csvfile:
    lecteur_csv = csv.reader(csvfile)
    for ligne in lecteur_csv:
        total_ventes += float(ligne[1])  # Supposons que le montant des ventes est à l'index 1

print("Total des ventes :", total_ventes)
Créer un nouveau fichier CSV avec des données filtrées

Supposons que vous ayez un fichier CSV contenant des données de produits, et vous voulez créer un nouveau fichier CSV avec uniquement les produits dont le prix est inférieur à 50 € :

import csv

with open('produits.csv', 'r', newline='') as csvfile:
    lecteur_csv = csv.reader(csvfile)
    donnees_filtrees = [ligne for ligne in lecteur_csv if float(ligne[2]) < 50]  # Supposons que le prix soit à l'index 2

with open('produits_filtres.csv', 'w', newline='') as csvfile:
    ecrivain_csv = csv.writer(csvfile)
    for ligne in donnees_filtrees:
        ecrivain_csv.writerow(ligne)
Modifier des données dans un fichier CSV

Supposons que vous vouliez augmenter le salaire de tous les employés de 10 % dans un fichier CSV contenant leurs informations :

import csv

with open('employes.csv', 'r', newline='') as csvfile:
    lecteur_csv = csv.reader(csvfile)
    donnees_modifiees = []
    for ligne in lecteur_csv:
        ligne[3] = str(float(ligne[3]) * 1.10)  # Supposons que le salaire soit à l'index 3
        donnees_modifiees.append(ligne)

with open('employes_modifies.csv', 'w', newline='') as csvfile:
    ecrivain_csv = csv.writer(csvfile)
    for ligne in donnees_modifiees:
        ecrivain_csv.writerow(ligne)

Ces exemples vous donnent un aperçu de différentes manipulations que vous pouvez effectuer sur des fichiers CSV en utilisant Python. Avec la bibliothèque CSV et les fonctionnalités de manipulation de listes et de chaînes de caractères de Python, vous pouvez réaliser une grande variété de tâches liées à l’analyse et à la manipulation de données tabulaires.

Voici quelques exemples avancés avec du code pour la manipulation de fichiers CSV en Python :

1. Utilisation de la bibliothèque pandas

La bibliothèque pandas est une bibliothèque très puissante pour la manipulation et l’analyse de données en Python, y compris les fichiers CSV. Voici comment vous pouvez utiliser pandas pour lire un fichier CSV et effectuer des opérations avancées :

import pandas as pd

# Lire le fichier CSV
donnees = pd.read_csv('donnees.csv')

# Afficher les premières lignes
print(donnees.head())

# Filtrer les données pour les personnes de moins de 30 ans
personnes_moins_de_30 = donnees[donnees['age'] < 30]

# Afficher les résultats
print(personnes_moins_de_30)
2. Utilisation de la bibliothèque csv.DictReader

La classe DictReader de la bibliothèque csv permet de lire les données CSV en les interprétant comme des dictionnaires. Cela facilite l’accès aux données par nom de colonne :

import csv

# Lire le fichier CSV en tant que dictionnaires
with open('donnees.csv', 'r', newline='') as csvfile:
    lecteur_csv = csv.DictReader(csvfile)
    for ligne in lecteur_csv:
        print(ligne['nom'], ligne['prenom'], ligne['age'])
3. Utilisation de la bibliothèque csv.DictWriter

La classe DictWriter de la bibliothèque csv permet d’écrire des données dans un fichier CSV à partir de dictionnaires :

import csv

# Créer une liste de dictionnaires représentant de nouvelles données
nouvelles_donnees = [
    {'nom': 'Doe', 'prenom': 'John', 'age': '25'},
    {'nom': 'Smith', 'prenom': 'Emma', 'age': '35'}
]

# Écrire les données dans un nouveau fichier CSV
with open('nouvelles_donnees.csv', 'w', newline='') as csvfile:
    colonnes = ['nom', 'prenom', 'age']
    ecrivain_csv = csv.DictWriter(csvfile, fieldnames=colonnes)
    ecrivain_csv.writeheader()
    for ligne in nouvelles_donnees:
        ecrivain_csv.writerow(ligne)

Ces exemples démontrent quelques-unes des fonctionnalités avancées que vous pouvez utiliser pour manipuler des fichiers CSV en Python, en utilisant les bibliothèques pandas et csv. Avec ces outils, vous pouvez effectuer une grande variété d’opérations de manipulation de données, y compris la lecture, la filtration, la modification et l’écriture de fichiers CSV.

Voici quelques cas particuliers de manipulation de fichiers CSV en Python :

1. Traitement de fichiers CSV avec des délimiteurs personnalisés

Parfois, les fichiers CSV utilisent des délimiteurs autres que des virgules, comme des points-virgules (;) ou des tabulations (\t). Vous pouvez spécifier le délimiteur lors de la lecture ou de l’écriture du fichier CSV en utilisant le paramètre delimiter :

import csv

# Lecture d'un fichier CSV avec un délimiteur point-virgule
with open('donnees.csv', 'r', newline='') as csvfile:
    lecteur_csv = csv.reader(csvfile, delimiter=';')
    for ligne in lecteur_csv:
        print(ligne)
2. Gestion des valeurs manquantes ou nulles

Certains fichiers CSV peuvent contenir des valeurs manquantes ou nulles. Vous pouvez les gérer lors de la lecture en utilisant des instructions conditionnelles pour remplacer ces valeurs par des valeurs par défaut ou des valeurs calculées :

import csv

# Lecture d'un fichier CSV avec des valeurs manquantes
with open('donnees.csv', 'r', newline='') as csvfile:
    lecteur_csv = csv.reader(csvfile)
    for ligne in lecteur_csv:
        # Remplacer les valeurs manquantes par "N/A"
        ligne = ['N/A' if valeur.strip() == '' else valeur for valeur in ligne]
        print(ligne)
3. Ignorer les lignes d’en-tête ou les premières lignes

Dans certains cas, les fichiers CSV peuvent contenir des lignes d’en-tête ou des métadonnées que vous souhaitez ignorer lors de la lecture. Vous pouvez utiliser une boucle pour lire les lignes sans les traiter :

import csv

# Lecture d'un fichier CSV en ignorant les 2 premières lignes
with open('donnees.csv', 'r', newline='') as csvfile:
    lecteur_csv = csv.reader(csvfile)
    for _ in range(2):
        next(lecteur_csv)  # Ignorer la ligne
    for ligne in lecteur_csv:
        print(ligne)
4. Gestion des fichiers CSV encodés avec des caractères spéciaux

Si votre fichier CSV est encodé avec des caractères spéciaux, vous pouvez spécifier l’encodage lors de la lecture ou de l’écriture du fichier CSV en utilisant le paramètre encoding :

import csv

# Lecture d'un fichier CSV encodé en latin-1
with open('donnees.csv', 'r', newline='', encoding='latin-1') as csvfile:
    lecteur_csv = csv.reader(csvfile)
    for ligne in lecteur_csv:
        print(ligne)

Ces cas particuliers couvrent quelques-unes des situations que vous pourriez rencontrer lors de la manipulation de fichiers CSV en Python et comment les gérer efficacement.

Conclusion

Dans ce tutoriel, nous avons appris à importer, lire et modifier des fichiers CSV avec Python. La bibliothèque standard csv offre une approche simple et efficace pour manipuler des données tabulaires. Vous pouvez désormais approfondir ces fonctionnalités afin de répondre à vos besoins spécifiques en matière de traitement de données en Python.

FAQ — Test de niveau en anglais avec plan de révision automatique

Questions utiles, réponses claires, et conseils concrets pour utiliser le simulateur et progresser plus vite.

En quoi ce simulateur est différent d’un quiz classique qui donne juste un niveau

Un quiz standard donne souvent un score global, puis vous laisse seul face à la suite. Le simulateur, lui, découpe votre performance par thèmes (Grammar, Vocabulary, Listening, Reading, Writing, Speaking) afin de repérer le point faible qui vous fait perdre le plus de points. Ensuite, il transforme ce diagnostic en plan de révision automatique, avec des priorités et des objectifs simples à suivre.

Autrement dit, vous ne “révisez pas l’anglais au hasard” : vous corrigez d’abord ce qui bloque, puis vous consolidez de manière logique.

Comment le test calcule un score par thème sans être trop long

Chaque thème est évalué par un mini-module court, construit en progression (facile → moyen → avancé). Cela permet d’estimer rapidement où vous êtes solide et où vous décrochez. Le simulateur privilégie des questions qui révèlent les erreurs fréquentes, par exemple l’ordre des mots en question, les temps utiles au quotidien, ou les confusions de prépositions.

Vous obtenez ainsi des scores exploitables, sans avoir à passer un test interminable.

Est-ce que le niveau affiché correspond exactement au CECRL (A1 à C2)

Le simulateur donne une estimation cohérente et utile, mais il ne remplace pas une certification officielle. Son intérêt principal est pratique : il précise votre profil par compétences et vous donne une feuille de route réaliste. Dans la vraie vie, on peut être plus fort en lecture qu’en expression orale, et c’est précisément ce décalage que l’outil rend visible.

Si vous préparez un examen, vous pouvez utiliser le plan automatique pour cibler les compétences qui font gagner des points plus vite.

Que faire si mon score est faible et que je me décourage

Un score faible n’est pas un verdict, c’est une information. Le problème n’est pas “votre anglais” en général, mais une ou deux zones qui tirent tout vers le bas. Le simulateur sert justement à identifier ces zones, puis à proposer un plan simple et progressif, pour obtenir des progrès visibles sans vous noyer dans trop de contenu.

Commencez par des sessions courtes, mais régulières : la stabilité vient souvent plus vite que vous ne l’imaginez, dès que vous travaillez le bon point au bon moment.

Comment le plan de révision automatique choisit les priorités

Le plan se construit sur une logique de rendement : d’abord le thème le plus bas (celui qui coûte le plus de points), ensuite la compétence qui bloque l’aisance (souvent Listening ou Grammar), puis une compétence stabilisatrice (souvent Vocabulary ou Reading). Cette approche évite de se disperser et donne un ordre de travail clair.

Si votre profil est très déséquilibré, le simulateur propose aussi des re-tests ciblés pour vérifier rapidement que la faiblesse dominante diminue.

Combien de temps par jour faut-il pour voir une amélioration

Avec un plan bien ciblé, 10 à 20 minutes par jour suffisent souvent pour sentir une différence, surtout si vous travaillez une faiblesse dominante. En réalité, la régularité compte plus que la durée : mieux vaut 15 minutes quotidiennes que 2 heures une fois par semaine, car l’anglais progresse par automatismes.

Le simulateur peut proposer un format “micro-sessions” ou “sessions longues” selon votre disponibilité.

Comment progresser en Listening quand l’audio va trop vite

La vitesse vient rarement d’un “manque de niveau” pur : elle vient du rythme, des contractions, et des mots qui se collent. Le plan automatique propose généralement une méthode simple : d’abord compréhension globale, puis repérage des détails, puis répétition ciblée de segments courts. Vous entraînez votre oreille à reconnaître des formes réelles, pas seulement des mots isolés.

Après quelques jours, vous remarquez souvent que ce n’est pas l’audio qui ralentit, mais votre cerveau qui devient plus rapide pour le décoder.

Je comprends à l’écrit, mais je bloque à l’oral : pourquoi

C’est un profil très courant. À l’écrit, vous avez le temps de réfléchir, de relire, et de corriger. À l’oral, tout doit sortir plus vite, avec moins d’hésitation. Souvent, le blocage vient de micro-faiblesses en Grammar utile (questions, temps, prépositions) et d’un Listening insuffisant, ce qui diminue la confiance et ralentit la prise de parole.

Le simulateur met ces écarts en évidence et propose des mini-scénarios pour automatiser les structures, au lieu de refaire uniquement des exercices scolaires.

Le plan 7 jours suffit-il ou faut-il viser 30 jours

Le plan 7 jours est idéal pour un “déblocage” rapide : vous corrigez une faiblesse dominante et vous récupérez des points visibles. Le plan 30 jours sert à stabiliser le niveau, surtout si votre objectif est un examen, un entretien ou une aisance durable. En pratique, beaucoup d’utilisateurs démarrent avec 7 jours, puis passent à 14 ou 30 jours une fois la dynamique installée.

Le meilleur plan est celui que vous tenez : la constance finit toujours par dépasser l’intensité.

Est-ce que je peux refaire le test pour mesurer mes progrès

Oui, et c’est même conseillé. Le simulateur propose un re-test intelligent : vous ne refaites pas tout, vous refaites surtout les thèmes faibles, car ce sont eux qui déterminent le gain réel. Cela permet de vérifier rapidement que la faiblesse dominante diminue, puis de recalculer automatiquement les priorités du plan de révision.

Cette logique évite l’effet “je fais un test complet et je ne vois pas ma progression”, alors que vous progressez réellement sur le point qui comptait.


Recommandés

CSV en Python — du téléchargement au...
Le CSV paraît simple, jusqu’au...
En savoir plus
Python : pandas.to_csv — Exporter propre, fiable...
DataFrame.to_csv devient un contrat d’échange :...
En savoir plus
Python : pandas.read_csv — Guide pratique enrichi
Pourquoi read_csv reste incontournableParce qu’il transforme...
En savoir plus
Pratique de l’apprentissage automatique avec scikit-learn et...
Cet article vous guide, pas à...
En savoir plus
Python & finance PME — un kit...
Pour une PME, la finance est...
En savoir plus
Python pour la finance — les fonctions de base
Python pour la finance — les fonctions...
Python est devenu l’outil “couteau suisse”...
En savoir plus

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

error: Content is protected !!