format python sortie json
J'ai écrit un script Python qui génère une longue structure de données (dictionnaire que j'ai appelé "celldict") au format Json. Voici une petite partie de celui-ci :
{
"1224": {
"OUT3FA_5": 12,
"IN1": 37,
"Total_IN1": 37
},
"1225": {
"OUT3FA_5": 24,
"IN1": 59,
"Total_IN1": 22
}
}
Mais ce que je voudrais faire est d'avoir quelque chose comme ceci :
{
"success": true,
"data": [
{
"Week":"1224",
"OUT3FA_5": 65,
"IN1": 85,
"Total_IN1": 100
},
{
"Week":"1225",
"OUT3FA_5": 30,
"IN1": 40,
"Total_IN1": 120
}
]
}
Est-il un moyen de formater la sortie json avec Python pour faire ce que je veux?
Je n':
print json.dumps(celldict)
pour obtenir ma sortie.
Toute aide serait grandement appréciée.
OriginalL'auteur salamey | 2012-11-28
Vous devez vous connecter pour publier un commentaire.
Vient de mettre
celldict
à l'intérieur de un autre dict:Vous devrez ajouter le
Week
clé de lacelldict
dictionnaires première:ou de l'utilisation créer une copie de chaque dict à la volée:
La méthode de ce dernier, avec quelques indentation, produit:
Lire entre les lignes, il semble que si les
1224
et1225
clés dans votre entrée exemple sont en fait les numéros de semaine, vous faites allusion. Si oui, ils sont facilement intégrés:donnerait:
"Week"
avant chaque clé (représentée par les valeurs numériques 1224 et 1225) de mon dict.Vous pouvez les ajouter vous-même en mettant à jour les dictionnaires dans
celldict
assez facilement, non?Oui c'est génial! Mais avant que j'accepte votre réponse, je vois que vous avez mis en 1238 semaine, alors que je veux obtenir chaque semaine (à supposer que j'ai beaucoup de semaines), comment puis-je accéder dict touches et de les affecter à des
Week=
?Qu'est-ce que le weeknumber base? Comment déterminez-vous? J'ai codé en dur la valeur parce que vous n'avez pas à fournir l'information sur la façon dont vous déterminer ce nombre. Il est assez facile de définir des numéros différents pour chaque entrée, si il y a une règle à suivre.
Bien que cette structure vient en fait d'un fichier Excel, je itérer dessus à l'aide de la
xlrd
bibliothèque, ma première colonne contient toutes les semaines et mon deuxième colonne contient les autres données. Ce que je fais c'est de calculer pour chaque semaine de la valeur, le nombre de fois que "IN1" "OUT3FA_5" se produit (c'est juste résumant essentiellement). Et c'est ce qui me donne de la première structure. Je fais ceci :celldict[first_column_cell][second_column_cell] += 1
OriginalL'auteur Martijn Pieters
Le module json suit la structure de vos données, de sorte à obtenir votre sortie désirée, vous aurez pour réorganiser les données. Vous pouvez créer un nouveau dictionnaire comme ceci:
(Disclaimer: je n'ai pas testé ce code, mais il devrait vous donner l'idée de base au moins)
OriginalL'auteur elbows