Maison > Article > développement back-end > Comment créer correctement un dictionnaire à partir d'un fichier CSV en 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!