Maison  >  Article  >  développement back-end  >  Comment puis-je créer efficacement un dictionnaire unique à partir d'un fichier CSV de paires clé-valeur ?

Comment puis-je créer efficacement un dictionnaire unique à partir d'un fichier CSV de paires clé-valeur ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-19 06:18:03459parcourir

How Can I Efficiently Create a Single Dictionary from a CSV File of Key-Value Pairs?

Création d'un dictionnaire unifié à partir d'un fichier CSV composé de paires clé-valeur uniques

Lors de la manipulation de fichiers CSV, une tâche courante consiste à créer dictionnaires où chaque ligne représente une paire clé-valeur unique. Bien que la classe « csv.DictReader » offre un moyen pratique de parcourir ces fichiers ligne par ligne, la création d'un dictionnaire unifié nécessite une approche différente.

Le code fourni tente de construire un dictionnaire dans la boucle imbriquée. , conduisant à l'erreur 'ValueError' en raison de la tentative de décompression de plusieurs valeurs avec seulement deux attendues. Pour résoudre ce problème, la syntaxe doit être légèrement modifiée :

Python 3 :

import csv

with open('coors.csv', mode='r') as infile:
    reader = csv.reader(infile)
    with open('coors_new.csv', mode='w') as outfile:
        writer = csv.writer(outfile)
        mydict = {rows[0]: rows[1] for rows in reader}

Python 2 :

import csv

with open('coors.csv', mode='r') as infile:
    reader = csv.reader(infile)
    with open('coors_new.csv', mode='w') as outfile:
        writer = csv.writer(outfile)
        mydict = dict((rows[0], rows[1]) for rows in reader)

Cette syntaxe révisée parcourt correctement le CSV fichier, extrayant la clé de la première colonne et la valeur de la deuxième colonne pour chaque ligne. Le résultat est un dictionnaire unique dans lequel les clés sont uniques et proviennent de la première colonne, et les valeurs proviennent de la deuxième colonne. Cette approche consolide toutes les paires clé-valeur dans un dictionnaire complet.

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