Votre quête pour écrire de manière transparente des dictionnaires Python dans des fichiers CSV vous a conduit à un défi inattendu. Même si vous envisagez une délimitation claire entre les clés du dictionnaire comme en-tête et leurs valeurs comme deuxième ligne, votre approche actuelle semble échouer. Entrons dans les détails et déverrouillons la solution.
Le problème réside dans le choix de la méthode. La fonction DictWriter.writerows() attend une entrée de plusieurs dictionnaires. Cependant, comme vous ne possédez qu'un seul dictionnaire, vous devez utiliser DictWriter.writerow(). Cette méthode gère correctement les dictionnaires solitaires, vous permettant d'établir une structure précise d'en-tête et de valeur.
Pour affiner davantage votre approche, envisagez d'adopter l'instruction with lors de l'ouverture de fichiers. Cette technique Pythonique rationalise la gestion des fichiers, en fermant automatiquement les fichiers même en cas d'exceptions.
Voici un extrait optimisé qui correspond à ces suggestions :
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)
En exécutant ce code, vous obtiendrez un fichier CSV bien formaté avec les clés du dictionnaire en en-tête et les valeurs correspondantes en deuxième ligne :
test,testing
1,2
N'oubliez pas de spécifier newline="" lors de l'ouverture du fichier pour désactiver la gestion des nouvelles lignes intégrée de Python, permettant au rédacteur CSV de gérer les nouvelles lignes de manière indépendante. Cela garantit une intégration transparente avec les spécifications du formatage CSV.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3