[Einführung in Python] So analysieren Sie JSON

Referenzseite: [Einführung in Python] Analysieren von JSON

[Einführung in Python] So analysieren Sie JSON

JSON ist ein Datenformat, das beim Datenaustausch in einer Webanwendung verwendet wird. JSON ist eine Notation, die sowohl von Menschen als auch von Computern verwendet werden kann. Sie ist jedoch schwer zu lesen, da die Datenmenge groß ist und sie in gewissem Umfang analysiert werden muss. Dieses Mal werde ich erklären, wie JSON in Python analysiert wird.

In diesem Artikel verwenden wir als Beispiel eine JSON-Datei mit dem Namen "test.json".

test.json
{
    "book1":{
	"title":"Python Beginners",
 	"year": 2005 ,
	"page": 399 
},
    "book2":{
    	"title": "Python Developers",
    	"year": 2006 ,
	"page": 650 
},
"book3":{
	"title":"Python cookbook",
 	"year": 2002 ,
"page": 344 
},
"book4":{
    	"title": "Python Dictionary",
    	"year": 2012 ,
	"page": 1024 
}
}

JSON-Daten lesen

Um JSON-Daten in Python zu analysieren, müssen Sie zuerst die JSON-Daten als Wörterbuch lesen. Es gibt zwei Hauptmethoden zum Lesen von JSON-Daten.

Aus JSON-Datei lesen

Dies ist eine Methode zum Lesen der als JSON-Datei gespeicherten Daten. Verwenden Sie die Ladefunktion des JSON-Moduls, um die Daten zu laden.

import json  #Muss erforderlich sein
Variable 1= open(‘JSON-Dateipfad zum Lesen’, ‘r’) 
Variable 2= json.load(Variable 1)  

Zunächst wird die JSON-Datei mit der Öffnungsfunktion auf dieselbe Weise geöffnet wie eine normale geöffnete Datei. Anschließend können Sie die JSON-Datei lesen, indem Sie die Dateivariable der geöffneten JSON-Datei an das Argument json.load übergeben. Die von der Ladefunktion geladene JSON-Datei wird als Wörterbuch gespeichert.

import json
 
f = open('test.json', 'r')
json_dict = json.load(f)
print('json_dict:{}'.format(type(json_dict)))

Ausführungsergebnis

json_dict:

Konvertieren Sie die JSON-Zeichenfolge in den Wörterbuchtyp

Eine andere Möglichkeit, JSON-Daten zu lesen, besteht darin, eine JSON-formatierte Zeichenfolge in ein Wörterbuch zu konvertieren. Das Json-Modul wird zum Konvertieren von Zeichenfolgen im JSON-Format geladen Verwenden Sie eine Funktion. Es ähnelt der Ladefunktion, machen Sie also keinen Fehler.

import json
 
Variable 1= json.loads(Variable 2)  #Variable 2はJSON形式の文字列

Wenn die Ladefunktion eine JSON-formatierte Zeichenfolge als Argument übergibt, konvertiert sie diese in einen Wörterbuchtyp und gibt sie zurück.

import json
 
json_str = '''
{
    "test":"json",
    "test2":"json2"
}
'''
 
json_dict = json.loads(json_str)
print('json_dict:{}'.format(type(json_dict)))

Ausführungsergebnis

json_dict:

Lesen Sie der Reihe nach aus der JSON-Datei

Sie können Daten aus einer JSON-Datei mithilfe der Ladefunktion laden. Es gibt jedoch ein Problem, wenn Sie sie so laden, wie sie sind. Dies liegt daran, dass Python-Wörterbuchtypen ihre Reihenfolge nicht beibehalten. Jedes Mal, wenn Sie eine JSON-Datei normal lesen, ist die Reihenfolge nicht mehr in Ordnung. Um dies zu verhindern, verwenden Sie die Ladeoption "object_pairs_hook".

import json
 
json_str = '''
{
    "test":"json",
    "test2":"json2"
}
'''
 
json_dict = json.loads(json_str)
print('json_dict:{}'.format(type(json_dict)))

Ausführungsergebnis

json_dict:

In Python gibt es einen Typ namens "OrderedDict", einen Wörterbuchtyp, der in der richtigen Reihenfolge gespeichert wird. Durch Angabe von "collection.OrderedDict" in der Option "object_pairs_hook" beim Laden von JSON mit der Ladefunktion werden JSON-Daten als OrderedDict-Typ geladen, sodass sie der Reihe nach geladen werden können.

Holen Sie sich die Daten, die Sie benötigen

Nach dem Lesen des JSON ist es Zeit, die JSON-Daten zu analysieren. Beim Parsen von JSON-Daten müssen die erforderlichen Daten aus den JSON-Daten extrahiert werden. Da JSON in Python jedoch als Wörterbuchtyp behandelt wird, kann es wie ein Wörterbuchtyp behandelt werden.

import json
 
f = open('test.json', 'r')
json_dict = json.load(f)
 
print('Informationen zu Buch1:{}'.format(json_dict['book1']))
print('Anzahl der Seiten in Buch3:{}'.format(json_dict['book3']['page']))

Ausführungsergebnis

Buch1-Informationen: {"Titel": "Python-Anfänger", "Jahr": 2005, "Seite": 399} Anzahl der Seiten in Buch 3: 344

In diesem Beispiel wird der Wert durch Angabe des Schlüssels wie bei einem normalen Wörterbuchtyp abgerufen. Sie können auch Methoden vom Typ Wörterbuch oder itate mit einer for-Anweisung verwenden, um Daten nach Belieben abzurufen.

import json
 
f = open('test.json', 'r')
json_dict = json.load(f)
 
for x in json_dict:
    book_page = json_dict[x]['page']
    
    if(book_page >= 500):
        print('{0}:{1}'.format(x, json_dict[x]))

Ausführungsergebnis

book4:{‘page': 1024, ‘year': 2012, ‘title': ‘Python Dictionary’} book2:{‘page': 650, ‘year': 2006, ‘title': ‘Python Developers’}

In diesem Beispiel werden nur diejenigen mit [Seite] von 500 oder mehr aus den JSON-Daten extrahiert. Im Fall von Python gibt es viele praktische Methoden, mit denen Sie JSON-Daten einfach analysieren können.

Analysieren Sie in der Befehlszeile

Bisher habe ich Python-Skripte geschrieben, um JSON zu lesen und zu analysieren. Es ist jedoch mühsam, jedes Mal ein Skript zu schreiben, um nur eine kleine Menge von JSON anzuzeigen und zu analysieren.

In einem solchen Fall können Sie mit Python einfache JSON-Objekte in der Befehlszeile anzeigen und analysieren. Sie können den Inhalt der JSON-Datei in der Befehlszeile anzeigen, indem Sie die Befehlszeile oder das Terminal starten und Folgendes eingeben.

python -m json.tool test.json

Ausführungsergebnis

{ “book1″: { “title”: “Python Beginners”, “year”: 2005, “page”: 399 }, “book2″: { “title”: “Python Developers”, “year”: 2006, “page”: 650 }, “book3″: { “title”: “Python cookbook”, “year”: 2002, “page”: 344 }, “book4″: { “title”: “Python Dictionary”, “year”: 2012, “page”: 1024 } }

Recommended Posts

[Einführung in Python] So analysieren Sie JSON
[Einführung in Python] Umgang mit Daten im JSON-Format
[Einführung in Python] Wie verwende ich eine Klasse in Python?
So installieren Sie Python
So installieren Sie Python
Einführung in die Python-Sprache
Wie man JSON liest
Einführung in OpenCV (Python) - (2)
[Einführung in die Udemy Python3 + -Anwendung] 23. Verwendung von Tapuru
So erstellen Sie eine JSON-Datei in Python
So generieren Sie ein Python-Objekt aus JSON
So erstellen Sie das Substance Painter Python-Plugin (Einführung)
[Neueste Version 2020.8] So installieren Sie Python
So installieren Sie Python [Windows]
Einführung in Python Django (2) Win
python3: Verwendung der Flasche (2)
[Python] Verwendung von Liste 1
So aktualisieren Sie Pythons Tkinter auf 8.6
Analysieren Sie die JSON-Datei zum Objekt
Wie benutzt man Python Argparse?
Einführung in die serielle Kommunikation [Python]
Python: Wie man pydub benutzt
[Python] Verwendung von checkio
So führen Sie Notepad ++ Python aus
[Einführung in Python] <Liste> [Bearbeiten: 22.02.2020]
Einführung in Python (Python-Version APG4b)
So ändern Sie die Python-Version
Eine Einführung in die Python-Programmierung
Wie man in Python entwickelt
[Python] Wie man Skalar beurteilt
[Python] Verwendung von input ()
[Einführung] Verwendung von open3d
Wie benutzt man Python Lambda?
[Python] Verwendung von virtualenv
Einführung in Python For, While
python3: Verwendung der Flasche (3)
python3: Wie man eine Flasche benutzt
Verwendung von Python-Bytes
[Einführung in Python] Verwendung der while-Anweisung (wiederholte Verarbeitung)
So konvertieren Sie eine JSON-Datei mit Python Pandas in eine CSV-Datei
[Einführung in die Udemy Python3 + -Anwendung] 27. Verwendung des Wörterbuchs
[Einführung in die Udemy Python3 + -Anwendung] 30. Verwendung des Sets
[Einführung in Python] Wie stoppe ich die Schleife mit break?
[Einführung in Python] So schreiben Sie sich wiederholende Anweisungen mit for-Anweisungen
Umgang mit JSON in Ruby, Python, JavaScript, PHP
So installieren Sie Python mit Anaconda
[Einführung in die Udemy Python3 + -Anwendung] 31. Kommentar
[Python] Wie man MP3-Daten fFT
Python: So verwenden Sie Async mit
Einführung in die Python Numerical Calculation Library NumPy
[Einführung in Python3 Tag 1] Programmierung und Python
[Python] Verwendung der Pandas-Serie
So sammeln Sie Bilder in Python
[Einführung in Python] <numpy ndarray> [edit: 2020/02/22]
[Einführung in die Udemy Python3 + -Anwendung] 57. Decorator
Einführung in Python Hands On Teil 1
[Einführung in Python3 Tag 13] Kapitel 7 Zeichenfolgen (7.1-7.1.1.1)
Verwendung von Anfragen (Python Library)
Verwendung von SQLite in Python
[Einführung in die Udemy Python3 + -Anwendung] 56. Abschluss