Accès à plusieurs objets JSON à partir d'un seul fichier
Travailler avec des fichiers JSON peut être difficile, en particulier lorsqu'il s'agit de plusieurs objets JSON stockés dans un fichier unique. Pour extraire des informations spécifiques de ces fichiers, des solutions personnalisées sont nécessaires.
Dans ce scénario, un fichier JSON contient plusieurs objets JSON, chacun représentant les informations d'un événement spécifique. La tâche consiste à extraire les champs « Horodatage » et « Utilité » de chaque objet et à les formater dans un bloc de données.
Pour y parvenir, il est recommandé d'exploiter la bibliothèque jsonstream. Il fournit une approche spécialisée pour gérer les gros fichiers JSON sans avoir besoin de charger l'intégralité du fichier en mémoire. La bibliothèque permet de décoder de manière itérative les objets JSON d'un fichier, un à la fois.
La bibliothèque JSONstream peut être utilisée comme suit :
<code class="python">from jsonstream import json with open("input.json", "r") as f: for obj in json.parse(f): # Access and process individual fields from the parsed JSON object timestamp = obj["Timestamp"] usefulness = obj["Usefulness"] # ... (perform any necessary actions with the extracted data)</code>
Alternativement, si l'accès direct au fichier n'est pas possible ou préféré, l'utilisation de la classe JSONDecoder avec la méthode raw_decode peut être une solution efficace. Cette méthode permet le décodage de grandes chaînes JSON sans avoir besoin de lire l'intégralité du fichier en une seule opération. Il trouve de manière itérative les objets JSON valides et garde une trace de la dernière position d'analyse.
<code class="python">from json import JSONDecoder decoder = JSONDecoder() with open("input.json", "r") as f: for line in f: try: obj, pos = decoder.raw_decode(line, 0) timestamp = obj["Timestamp"] usefulness = obj["Usefulness"] # ... (perform actions with the extracted data) except JSONDecodeError: # Handle any errors encountered during decoding</code>
La bibliothèque JSONstream et la méthode raw_decode fournissent des moyens efficaces pour extraire plusieurs objets JSON d'un seul fichier, ce qui facilite le travail. avec et analyser de grands ensembles de données JSON.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!