Les fichiers CSV en Python (Comma Separated Values) sont couramment utilisés pour stocker des données tabulaires, telles que des feuilles de calcul ou des bases de données. Python offre de nombreux moyens flexibles et puissants de lire et manipuler des fichiers CSV. Dans cet article, nous explorerons plusieurs méthodes pour lire un fichier CSV en Python, en mettant l’accent sur la bibliothèque standard csv
.
csv
La bibliothèque csv
de Python fournit des fonctionnalités pour lire et écrire des fichiers CSV de manière simple et efficace. Voici comment lire un fichier CSV à l’aide de cette bibliothèque :
import csv
# Ouvrir le fichier CSV en mode lecture
with open('donnees.csv', newline='') as fichier_csv:
lecteur_csv = csv.reader(fichier_csv, delimiter=',')
for ligne in lecteur_csv:
print(ligne)
Dans cet exemple :
open('donnees.csv', newline='')
ouvre le fichier CSV spécifié en mode lecture.csv.reader(fichier_csv, delimiter=',')
crée un objet lecteur CSV qui parcourt les lignes du fichier CSV, en utilisant la virgule comme délimiteur. Vous pouvez spécifier d’autres délimiteurs selon le format de votre fichier CSV.for
itère à travers chaque ligne du fichier CSV, et print(ligne)
affiche chaque ligne sur la console.Une fois les données CSV chargées, vous pouvez les manipuler selon vos besoins. Par exemple, vous pouvez accéder à des colonnes spécifiques, effectuer des calculs ou filtrer les données.
Voici un exemple de lecture d’un fichier CSV et d’affichage des valeurs d’une colonne spécifique :
import csv
# Ouvrir le fichier CSV en mode lecture
with open('donnees.csv', newline='') as fichier_csv:
lecteur_csv = csv.reader(fichier_csv, delimiter=',')
# Ignorer l'en-tête s'il existe
next(lecteur_csv)
# Parcourir les lignes et afficher la valeur de la deuxième colonne
for ligne in lecteur_csv:
print(ligne[1])
Dans cet exemple, ligne[1]
accède à la deuxième colonne de chaque ligne du fichier CSV.
Une autre méthode populaire pour lire des fichiers CSV en Python est d’utiliser la bibliothèque pandas
, qui offre des fonctionnalités avancées pour manipuler les données tabulaires.
Voici comment lire un fichier CSV à l’aide de pandas
:
import pandas as pd
# Lire le fichier CSV dans un DataFrame pandas
donnees = pd.read_csv('donnees.csv')
# Afficher les premières lignes du DataFrame
print(donnees.head())
pandas.read_csv('donnees.csv')
lit le fichier CSV et le stocke dans un objet DataFrame, qui est une structure de données tabulaire très flexible. Vous pouvez ensuite utiliser les méthodes et fonctions de pandas
pour effectuer diverses opérations sur les données, telles que le filtrage, le regroupement, ou le calcul de statistiques.
Voici quelques cas particuliers techniques que vous pourriez rencontrer lors de la lecture de fichiers CSV en Python, et comment les aborder :
Parfois, les fichiers CSV peuvent utiliser des délimiteurs autres que la virgule standard. Par exemple, le point-virgule (;) ou la tabulation (\t) sont couramment utilisés. Pour lire de tels fichiers, vous devez spécifier explicitement le délimiteur lors de l’utilisation de la bibliothèque csv
.
import csv
# Lecture d'un fichier CSV avec un délimiteur point-virgule
with open('donnees.csv', newline='') as fichier_csv:
lecteur_csv = csv.reader(fichier_csv, delimiter=';')
for ligne in lecteur_csv:
print(ligne)
Certains fichiers CSV incluent une ligne d’en-têtes pour décrire le contenu de chaque colonne. Lors de la lecture de tels fichiers, vous pouvez sauter la première ligne pour éviter de la traiter comme des données.
import csv
# Ignorer la première ligne (en-têtes)
with open('donnees.csv', newline='') as fichier_csv:
lecteur_csv = csv.reader(fichier_csv)
next(lecteur_csv) # Ignorer la première ligne
for ligne in lecteur_csv:
print(ligne)
Alternativement, si vous utilisez csv.DictReader
, les en-têtes seront automatiquement utilisés comme clés de dictionnaire pour chaque ligne.
Certains fichiers CSV peuvent contenir des caractères spéciaux ou être encodés dans un format autre que UTF-8. Vous devrez spécifier l’encodage correct lors de l’ouverture du fichier pour éviter les erreurs de décodage.
import csv
# Spécifier l'encodage lors de l'ouverture du fichier
with open('donnees.csv', newline='', encoding='latin-1') as fichier_csv:
lecteur_csv = csv.reader(fichier_csv)
for ligne in lecteur_csv:
print(ligne)
Assurez-vous de connaître l’encodage correct du fichier CSV que vous lisez. Les encodages courants incluent utf-8
, latin-1
, ascii
, etc.
Il est courant que les fichiers CSV contiennent des valeurs manquantes. Lors de la lecture de ces fichiers, vous devez décider comment gérer ces valeurs manquantes, en les remplaçant par des valeurs par défaut ou en les ignorant.
import csv
# Ignorer les lignes avec des valeurs manquantes
with open('donnees.csv', newline='') as fichier_csv:
lecteur_csv = csv.reader(fichier_csv)
for ligne in lecteur_csv:
if all(ligne): # Vérifier si toutes les valeurs sont présentes
print(ligne)
Dans cet exemple, all(ligne)
vérifie si toutes les valeurs dans une ligne sont présentes (non nulles). Vous pouvez ajuster cette condition en fonction de vos besoins pour gérer les valeurs manquantes.
En gérant ces cas particuliers de manière appropriée, vous pouvez lire et traiter efficacement une variété de fichiers CSV en Python.
Lire un fichier CSV en Python est une tâche courante et relativement simple grâce aux bibliothèques standard telles que csv
et aux outils puissants comme pandas
. En utilisant ces outils, vous pouvez charger rapidement des données CSV dans votre programme Python et les manipuler selon vos besoins, que ce soit pour l’analyse de données, la génération de rapports ou d’autres tâches de traitement de données.
Voici une série d’exercices conçus pour perfectionner vos compétences Excel. Les corrigés sont inclus pour…
Excel offre plusieurs méthodes pour calculer une moyenne tout en tenant compte des filtres ou…
Excel propose plusieurs fonctions pour insérer ou manipuler la date actuelle. Voici les principales méthodes…
Lorsque des nombres sont stockés sous forme de texte dans Excel, ils ne peuvent pas…
Extraire uniquement les chiffres d'une cellule contenant du texte et des nombres mélangés est une…
Pour supprimer plusieurs caractères spécifiques (par exemple, des symboles, chiffres ou lettres indésirables) dans des…
This website uses cookies.