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
Libérer: 2024-12-01 20:50:11
original
293 Les gens l'ont consulté

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))
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal