Maison >développement back-end >Tutoriel Python >Comment analyser un fichier de lignes JSON en Python et éviter « ValueError : Extra data » ?

Comment analyser un fichier de lignes JSON en Python et éviter « ValueError : Extra data » ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-01 20:50:11296parcourir

How to Parse a JSON Lines File in Python and Avoid

Chargement et analyse d'un fichier JSON avec plusieurs objets JSON

Problème :

Tentative de charger un fichier JSON en Python génère une erreur « ValueError : Extra data ». Malgré la consultation de la documentation Python, la solution reste insaisissable.

Solution :

Le fichier JSON donné n'est pas dans un seul format d'objet JSON ; c'est un fichier au format JSON Lines. Cela signifie que chaque ligne contient un objet JSON valide, sans liste de niveau supérieur ni définition d'objet. Pour analyser ce type de fichier :

import json

data = []
with open('file') as f:
    for line in f:
        data.append(json.loads(line))

En itérant ligne par ligne et en analysant chaque ligne individuellement, la consommation de mémoire est minimisée.

Remarque :

Si le fichier JSON contient des objets individuels séparés par des délimiteurs, reportez-vous à la ressource "Comment utiliser le module 'json' pour lire en un objet JSON à la fois ?" pour analyser des objets individuels à l'aide d'une méthode tamponnée.

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