Maison  >  Article  >  développement back-end  >  Comment écrire un dictionnaire Python dans un fichier CSV avec des clés et des valeurs dans des lignes séparées ?

Comment écrire un dictionnaire Python dans un fichier CSV avec des clés et des valeurs dans des lignes séparées ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-17 18:48:31125parcourir

How to Write a Python Dictionary to a CSV File with Keys and Values in Separate Rows?

Écrire des dictionnaires Python dans des fichiers CSV

Si vous devez écrire un dictionnaire Python dans un fichier CSV, où les clés du dictionnaire apparaissent dans le première ligne et les valeurs clés de la seconde, utilisez l'approche suivante :

Étape 1 : utilisez DictWriter.writerow()

Le code que vous avez cité utilise DictWriter.writerows () qui attend une liste de dictionnaires, pas un seul dictionnaire. Pour écrire une seule ligne, utilisez DictWriter.writerow() :

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)

Étape 2 : Incluez DictWriter.writeheader()

Si vous désirez une ligne d'en-tête pour votre fichier CSV, appelez DictWriter.writeheader() avant d'écrire le dictionnaire :

    w.writeheader()
    w.writerow(my_dict)

Étape 3 : Utiliser l'instruction "with"

L'instruction "with" gère l'ouverture et la fermeture des fichiers avec élégance, même pendant les exceptions :

with open("mycsvfile.csv", "w", newline="") as f:
    # ...

Étape 4 : Désactiver la gestion des nouvelles lignes

L'écrivain CSV gère les sauts de ligne en interne, désactivez donc la valeur par défaut comportement dans open() en utilisant newline="":

with open("mycsvfile.csv", "w", newline="") as f:
    # ...

Ce code révisé génère un fichier CSV avec les clés et les valeurs du dictionnaire correctement séparées :

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