J'essaie de transmettre un fichier JSON et de convertir les données en dictionnaire.
Jusqu'à présent, voici ce que j'ai fait:
import json
json1_file = open('json1')
json1_str = json1_file.read()
json1_data = json.loads(json1_str)
Je m'attends json1_data
à être un dict
type, mais il apparaît en fait comme un list
type lorsque je le vérifie type(json1_data)
.
Qu'est-ce que je rate? J'ai besoin que ce soit un dictionnaire pour pouvoir accéder à l'une des clés.
python
json
list
python-3.x
dictionary
Lawchit
la source
la source
json1_data[0]['datapoints']
.Réponses:
Votre JSON est un tableau avec un seul objet à l'intérieur, donc lorsque vous le lisez, vous obtenez une liste avec un dictionnaire à l'intérieur. Vous pouvez accéder à votre dictionnaire en accédant à l'élément 0 de la liste, comme indiqué ci-dessous:
Vous pouvez désormais accéder aux données stockées dans des points de données exactement comme vous vous y attendiez:
datapoints[0:5][0]
ne fait pas ce que vous attendez.datapoints[0:5]
renvoie une nouvelle tranche de liste contenant uniquement les 5 premiers éléments, puis l'ajout[0]
à la fin de celui-ci ne prendra que le premier élément de cette tranche de liste résultante . Ce que vous devez utiliser pour obtenir le résultat souhaité est une compréhension de la liste :Voici un moyen simple de calculer la moyenne:
Si vous êtes prêt à installer NumPy , c'est encore plus simple:
L'utilisation de l'
,
opérateur avec la syntaxe de découpage pour les tableaux de NumPy a le comportement que vous attendiez à l'origine avec les découpages de liste.la source
Voici un simple extrait qui se lit dans un
json
fichier texte à partir d'un dictionnaire. Notez que votre fichier json doit suivre la norme json, il doit donc avoir"
des guillemets doubles plutôt que'
des guillemets simples.Votre fichier JSON dump.txt:
Script Python:
la source
Vous pouvez utiliser les éléments suivants:
la source
La meilleure façon de charger des données JSON dans le dictionnaire est Vous pouvez utiliser le chargeur json intégré.
Vous trouverez ci-dessous l'exemple d'extrait qui peut être utilisé.
la source
with()
opérateur au lieu d'avoir à ouvrir et fermer le fichier Sur le site:with open("welcome.txt") as file:
Voir: pythonforbeginners.com/files/with-statement-in-pythonJe travaille avec un code Python pour une API REST, donc c'est pour ceux qui travaillent sur des projets similaires.
J'extrais des données d'une URL en utilisant une requête POST et la sortie brute est JSON. Pour une raison quelconque, la sortie est déjà un dictionnaire, pas une liste, et je peux me référer immédiatement aux clés de dictionnaire imbriquées, comme ceci:
où datapoint_1 se trouve dans le dictionnaire des points de données.
la source
passer les données en utilisant javascript ajax à partir des méthodes get
vues django
la source