Convertir des données CSV en dictionnaires Python est une tâche courante, car les dictionnaires offrent un moyen flexible et efficace de travailler avec des données structurées. Cette section explorera le processus d'extraction de données à partir de fichiers CSV et de leur stockage dans des dictionnaires.
Convertir un fichier CSV en dictionnaires
Pour convertir des données CSV en dictionnaires, vous pouvez utiliser la classe csv.DictReader
fournie par le module csv
. Cette classe lit le fichier CSV et renvoie un itérateur qui produit un dictionnaire pour chaque ligne, où les clés sont les en-têtes de colonne et les valeurs sont les données correspondantes.
import csv
## Sample CSV data
with open('data.csv', 'r') as file:
reader = csv.DictReader(file)
for row in reader:
print(row)
La sortie du code ci-dessus sera une série de dictionnaires, où chaque dictionnaire représente une ligne du fichier CSV.
{'Name': 'John', 'Age': '25', 'City': 'New York'}
{'Name': 'Jane', 'Age': '30', 'City': 'London'}
Gérer les lignes d'en-tête
La classe csv.DictReader
suppose que la première ligne du fichier CSV contient les en-têtes de colonne. Si ce n'est pas le cas, vous pouvez spécifier manuellement les noms de champ lors de la création de l'objet DictReader
.
import csv
## CSV file with no header row
with open('data.csv', 'r') as file:
reader = csv.DictReader(file, fieldnames=['Name', 'Age', 'City'])
for row in reader:
print(row)
Cela produira la même sortie que l'exemple précédent, mais sans dépendre de la première ligne du fichier CSV pour contenir les en-têtes de colonne.
Accéder aux valeurs des dictionnaires
Une fois que vous avez converti les données CSV en dictionnaires, vous pouvez facilement accéder aux valeurs de chaque colonne en utilisant les clés correspondantes.
import csv
with open('data.csv', 'r') as file:
reader = csv.DictReader(file)
for row in reader:
name = row['Name']
age = row['Age']
city = row['City']
print(f"Name: {name}, Age: {age}, City: {city}")
Cela affichera les valeurs individuelles de chaque ligne du fichier CSV.
En comprenant comment convertir des données CSV en dictionnaires, vous pouvez exploiter pleinement les structures de données de Python et effectuer des opérations plus avancées sur vos données CSV.