Bonsoir à tous
Etant débutant, je cale sur l'extraction d'un fichier json Pièce jointe 627466
Je souhaiterais extraire les données suivantes :
- hum_out
- rain_year_mm
Merci d'avance pour votre aide
MP
Version imprimable
Bonsoir à tous
Etant débutant, je cale sur l'extraction d'un fichier json Pièce jointe 627466
Je souhaiterais extraire les données suivantes :
- hum_out
- rain_year_mm
Merci d'avance pour votre aide
MP
Bonjour
Mouais, l'excude habituelle qu'on voit sur ce forum. Pourtant, être débutant ce n'est pas un état indéfectible ; surtout que tu sembles débutant depuis quand-même février dernier (je crois que tu as eu largement le temps de devenir moins débutant)...
Oui, donc question là aussi habituelle dans ce genre de cas : qu'as-tu fait ???
http://club.developpez.com/regles/#LIV-N
Tu as un dictionnaire ordonné, donc il faut savoir comment naviguer dans un dictionnaire (qu'il soit ordonné ou pas, ça change peu de choses) https://docs.python.org/fr/3.7/tutor...l#dictionaries
Salut !
Et coucou umfred ! Tu fais des infidélités à OpenClassRooms ?
Si tu veux un code facile à comprendre :
Code:
1
2
3
4
5
6
7
8 def extract(key): x = text.split(key+"': ")[1] return x[:x.index(',')] extract('hum_out') '76' extract('rain_year_mm') '167.6'
En fait, on dirait une instruction Python sortie d'on ne sais où. On fait un xxx=eval(tout_le_fichier) et on se retrouve avec un vrai OrderedDict dans "xxx" (et en plus visiblement ancienne l'instruction puisque les OrderedDict, même s'ils sont toujours présents pour assurer la compatiilité, n'ont plus d'utilité depuis Python3.7 sorti en 2018 !!!)
Bonjour à tous.
Merci pour toutes vos réponses.
Donc, effectivement la pj n'est pas excacte, il s'agit du'un copier/coller de l'extraction du dico sous Python, je met en attache le bon fichier.
Merci pour votre aide afin d'extraire les variables :
- hum_out
- rain_year_mm
MP
Tu as tout ce qu'il te faut dans la classe json.
Code:
1
2
3
4
5
6 import json f = open('d:/tmp/ext_json.txt') data = json.load(f) print ( 'hum_in : ' + str(data["sensors"][0]["data"][0]["hum_in"])) print ( 'rain_year_mm : ' + str(data["sensors"][0]["data"][0]["rain_year_mm"])) f.close()
Citation:
hum_in : 66
rain_year_mm : 167.6
Re
Merci c'est impéccable
MP
j'espère que t'avoir donner la réponse toute faite va te permettre de ne pas reposer la question si tu as besoin d'un des autres champs
Bonjour
Promis, je potasserais la doc. des dico la prochaine fois
MP