Je veux obtenir les données des dossiers JSON à l'aide de Python 3.7.2.
Ceci est mon fichier JSON: p> pour mon projet, j'ai besoin de variables suivantes: p> variable de tous les périphériques recueillis dans une liste: p>
État des périphériques enregistrés dans différentes variables: P>
jstatus = getStatus(json_data, "device1") | Output: 0
jdevices = getDevices(json_data) | Output: {'device1', 'device2', 'device3'}
3 Réponses :
Vous pouvez le faire dans Pandas
devices = df['name'].tolist() status = df['status'].tolist()
Python a une prise en charge intégrée des fichiers JSON, et il a également une structure de données très pratique nommée Dictionnaire qui fonctionne brillamment avec JSON. P>
Vous devez essentiellement le faire: P>
Importer JSON CODE> LI>
- chargez vos données:
data = jason.loads ("path_to_file") code> li>
- Faites ce que vous voudriez avec les données, par exemple itérer sur celui-ci: li>
ul>
pour x dans les données:
Imprimer (f "x: {x}, données [x]: {data [x]}") code> p>
import json class DeviceHelper: def __init__(self, json_file): """open json file and load json content""" with open(json_file, 'rb') as file: self.device_info = json.load(file) def get_device_status(self, name): """loop over the divices list and compare""" for device in self.device_info.get('device'): if device.get('name') == name: return device.get('status') return 'Lol no device found' def get_devices(self): return [device.get('name') for device in self.device_info.get('device')] # path to json file device_info = DeviceHelper('devices.json') device_info.get_device_status('device2') >>> 1 device_info.get_devices() >>> ['device1', 'device2', 'device2']
Merci d'avoir aidé, mais votre solution ne fonctionne que pour le périphérique 1 ... y a-t-il un moyen de réécrire le code?
Qu'est-ce que vous avez essayé?
Vous ne devriez pas vouloir noms variables i> qui sont lus des données, comme JSON. Si votre code ne traitera que de ces 3 dévieces et que vous le savez à l'avance, c'est bon. Sinon, vous devriez avoir un dictionnaire avec les périphériques d'état et une clé pour chaque périphérique dans ce dictionnaire.
Quel est le problème, exactement? Avez-vous essayé quelque chose, effectué des recherches? Je suis d'accord avec @jsbueno, cela sonne un peu comme un cas de XY Problème .