Wie extrahiere ich mehrere JSON-Objekte aus einer einzelnen Datei in Python?

Patricia Arquette
Freigeben: 2024-10-28 07:07:01
Original
289 Leute haben es durchsucht

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

Extrahieren mehrerer JSON-Objekte aus einer einzelnen Datei

In Situationen, in denen Sie auf eine JSON-Datei stoßen, die mehrere Objekte enthält, besteht die Aufgabe darin, bestimmte Felder zu isolieren wird wesentlich. Ein Ansatz besteht darin, die Methode json.JSONDecoder.raw_decode zu verwenden.

raw_decode bietet die Möglichkeit, große JSON-Strings iterativ zu dekodieren. Die Analyse wird fortgesetzt, bis ein gültiges JSON-Objekt gefunden wird, während die letzte Nicht-Leerzeichen-Position verfolgt wird. Dies ermöglicht wiederholte Aufrufe von raw_decode, indem die vorherige Endposition als Argument bereitgestellt wird.

Das JSON-Modul von Python erfordert jedoch eine Eingabe ohne Leerzeichen. Daher ist eine Vorverarbeitung erforderlich, um vorhergehende Leerzeichen zu entfernen. Der bereitgestellte Code behebt dieses Problem, indem er den regulären Ausdruck NOT_WHITESPACE verwendet, um das anfängliche nicht leere Zeichen zu finden.

<code class="python"># Extract Multiple JSON Objects
from json import JSONDecoder, JSONDecodeError
import re

NOT_WHITESPACE = re.compile(r'\S')

def decode_stacked(document, pos=0, decoder=JSONDecoder()):
    while True:
        match = NOT_WHITESPACE.search(document, pos)
        if not match:
            return
        pos = match.start()

        try:
            obj, pos = decoder.raw_decode(document, pos)
        except JSONDecodeError:
            # Handle error accordingly
            raise

        yield obj

# Example usage
s = """
{&quot;a&quot;: 1}
   [
1
,
2
]
"""

for obj in decode_stacked(s):
    print(obj)</code>
Nach dem Login kopieren

Die Ausgabe zeigt die erfolgreiche Extraktion der mehreren JSON-Objekte aus der Eingabezeichenfolge:

{'a': 1}
[1, 2]
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie extrahiere ich mehrere JSON-Objekte aus einer einzelnen Datei in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!