Maison  >  Article  >  développement back-end  >  Comment écrire un dictionnaire Python au format CSV comme en-tête et valeur à l'aide de csv.DictWriter ?

Comment écrire un dictionnaire Python au format CSV comme en-tête et valeur à l'aide de csv.DictWriter ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-17 18:55:30280parcourir

How to Write Python Dictionary to CSV as Header and Value Using csv.DictWriter?

csv.DictWriter pour fichier CSV avec en-têtes et valeurs

Cette question recherche une méthode pour exporter un dictionnaire Python vers un fichier CSV, avec les clés du dictionnaire formant la ligne d'en-tête et les valeurs composant la ligne suivante.

L'extrait de code fourni :

<code class="python">f = open('mycsvfile.csv','wb')
w = csv.DictWriter(f,my_dict.keys())
w.writerows(my_dict)
f.close()</code>

rencontre un problème où seules les clés du dictionnaire sont écrites sur la première ligne, en laissant les valeurs non écrites dans la deuxième ligne prévue.

La solution réside dans deux ajustements :

  • Utiliser DictWriter.writerow() au lieu de DictWriter.writerows(), comme ce dernier l'attend une liste de dictionnaires plutôt qu'un seul dictionnaire.
  • Incorporez DictWriter.writeheader() pour écrire les clés du dictionnaire comme en-tête.

De plus, il est recommandé d'utiliser l'instruction with pour la gestion des fichiers, car il rationalise la lisibilité du code et gère automatiquement la fermeture des fichiers.

Voici un exemple de code modifié qui incarne ces modifications :

<code class="python">import csv

my_dict = {"test": 1, "testing": 2}

with open("mycsvfile.csv", "w", newline="") as f:
    w = csv.DictWriter(f, my_dict.keys())
    w.writeheader()
    w.writerow(my_dict)</code>

Ce code affiné produit un fichier CSV avec le fichier attendu format :

test,testing
1,2

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