Maison  >  Article  >  développement back-end  >  Comment créer correctement un dictionnaire à partir d'un fichier CSV en Python ?

Comment créer correctement un dictionnaire à partir d'un fichier CSV en Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-17 15:25:02416parcourir

How to Correctly Create a Dictionary from a CSV File in Python?

Création d'un dictionnaire à partir d'un fichier CSV

Lorsque vous travaillez avec des données au format CSV, il peut être avantageux de stocker les informations dans un dictionnaire , où chaque ligne du fichier CSV représente une paire clé-valeur. La création d'un dictionnaire unique à partir d'un fichier CSV est une tâche courante.

Problème :

Un utilisateur a tenté de créer un dictionnaire à partir d'un fichier CSV à l'aide de la classe csv.reader , mais a rencontré une erreur lors de l'itération sur les lignes. Le code a produit une ValueError : trop de valeurs à décompresser (2 attendues).

Solution :

Le problème provient d'une utilisation incorrecte de mydict = {k:v pour k, v en lignes}. Ce code tente de créer un dictionnaire pour chaque ligne séparément, au lieu d'accumuler toutes les paires clé-valeur dans un seul dictionnaire. La syntaxe correcte pour créer un dictionnaire à partir d'un fichier CSV est la suivante :

mydict = {rows[0]:rows[1] for rows in reader}

Ce code parcourt chaque ligne du fichier CSV et définit la première colonne comme clé et la deuxième colonne comme valeur dans le dictionnaire. Le mydict résultant contiendra toutes les paires clé-valeur du fichier CSV.

Alternativement, pour les versions Python <= 2.7.1, la syntaxe suivante peut être utilisée :

mydict = dict((rows[0],rows[1]) for rows in reader)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn