Maison >développement back-end >Tutoriel Python >Comment extraire des données spécifiques de plusieurs objets JSON dans un seul fichier ?

Comment extraire des données spécifiques de plusieurs objets JSON dans un seul fichier ?

DDD
DDDoriginal
2024-10-27 16:03:01288parcourir

How to Extract Specific Data from Multiple JSON Objects in a Single File?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn