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.
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
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.
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 :
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)
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)
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)
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 :
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)
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'])
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 :
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)
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)
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)
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.
Dans ce tutoriel, nous avons appris à importer, lire et modifier des fichiers CSV en utilisant Python. La bibliothèque CSV de Python offre une manière simple et efficace de travailler avec des données tabulaires stockées dans des fichiers CSV. Vous pouvez maintenant explorer davantage ces fonctionnalités pour répondre à vos besoins spécifiques en matière de manipulation de données CSV en Python.
Le contexte d'une proposition commerciale professionnelle est la base qui permet d’établir la pertinence de…
Recevoir une proposition d’embauche est toujours un moment gratifiant. C’est l’aboutissement d’un processus souvent long…
10 Modèles de lettres pour Refuser Poliment une Offre Commerciale 👇 Refuser une offre commerciale…
La feuille de route produit est un document stratégique qui guide le développement, le lancement,…
Voici un guide détaillé sur les composants constitutifs d'un budget d'entreprise, destiné aux entrepreneurs et…
Ce guide - budget d'entreprise - est destiné aux gestionnaires, responsables financiers, ou chefs d'entreprise…
This website uses cookies.