[Introduction à Python] Comment analyser JSON

Site de référence: [Introduction à Python] Comment analyser JSON

[Introduction à Python] Comment analyser JSON

JSON est un format de données utilisé lors de l'échange de données dans une application Web. JSON est une notation conçue pour être utilisée à la fois par les humains et les ordinateurs, mais elle est difficile à lire telle quelle lorsque la quantité de données est importante et il est nécessaire de l'analyser (analyser) dans une certaine mesure. Donc cette fois, je vais vous expliquer comment analyser JSON en Python.

Dans cet article, nous utiliserons un fichier json appelé "test.json" comme exemple.

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 
}
}

Lire les données JSON

Pour analyser les données JSON en Python, vous devez d'abord lire les données JSON sous forme de dictionnaire. Il existe deux méthodes principales pour lire les données JSON.

Lire à partir d'un fichier JSON

Il s'agit d'une méthode pour lire les données enregistrées sous forme de fichier JSON. Utilisez la fonction de chargement du module json pour charger les données.

import json  #Doit être requis
Variable 1= open("Chemin du fichier JSON à lire", ‘r’) 
Variable 2= json.load(Variable 1)  

Tout d'abord, le fichier JSON est ouvert avec la fonction open de la même manière qu'un fichier normal ouvert. Ensuite, vous pouvez lire le fichier JSON en passant la variable de fichier du fichier JSON ouvert à l'argument de json.load. Le fichier JSON chargé par la fonction de chargement est enregistré sous forme de dictionnaire.

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

Résultat d'exécution

json_dict:

Convertir la chaîne JSON en type de dictionnaire

Une autre façon de lire les données JSON consiste à convertir une chaîne au format JSON en dictionnaire. Le module Json se charge pour la conversion des chaînes de format JSON Utilisez une fonction. C'est similaire à la fonction de chargement, alors ne vous trompez pas.

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

Si vous passez une chaîne au format JSON en tant qu'argument, la fonction de chargement la convertit en un type de dictionnaire et la renvoie.

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

Résultat d'exécution

json_dict:

Lire à partir du fichier JSON dans l'ordre

Vous pouvez charger des données à partir d'un fichier JSON à l'aide de la fonction de chargement, mais il y a un problème si vous le chargez tel quel. C'est parce que les types de dictionnaires Python ne conservent pas leur ordre, donc chaque fois que vous lisez un fichier JSON normalement, l'ordre devient dans le désordre. Pour éviter cela, utilisez l'option "object_pairs_hook" de load.

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

Résultat d'exécution

json_dict:

En Python, il existe un type appelé "OrderedDict" qui est un type de dictionnaire qui enregistre dans l'ordre. En spécifiant "collections.OrderedDict" dans l'option "object_pairs_hook" lors du chargement de JSON avec la fonction de chargement, les données JSON sont chargées en tant que type OrderedDict, de sorte qu'elles peuvent être chargées dans l'ordre.

Obtenez les données dont vous avez besoin

Après avoir lu le JSON, il est temps d'analyser les données JSON. Lors de l'analyse des données JSON, il est nécessaire d'extraire les données nécessaires des données JSON, mais en fait, JSON est traité comme un type de dictionnaire en Python, il peut donc être traité de la même manière qu'un type de dictionnaire.

import json
 
f = open('test.json', 'r')
json_dict = json.load(f)
 
print('Informations sur le livre1:{}'.format(json_dict['book1']))
print('Nombre de pages dans le livre3:{}'.format(json_dict['book3']['page']))

Résultat d'exécution

Informations Book1: {‘title’: ‘Python Beginners’, ‘year’: 2005, ‘page’: 399} Nombre de pages dans le livre3: 344

Dans cet exemple, la valeur est récupérée en spécifiant la clé comme un type de dictionnaire normal. Vous pouvez également utiliser des méthodes de type dictionnaire ou itate avec une instruction for, afin de pouvoir récupérer les données à votre guise.

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]))

Résultat d'exécution

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

Dans cet exemple, seuls ceux avec [page] de 500 ou plus sont extraits des données JSON. Dans le cas de Python, il existe de nombreuses méthodes pratiques, vous permettant ainsi d'analyser facilement les données JSON.

Analyser sur la ligne de commande

Jusqu'à présent, j'ai écrit des scripts Python pour lire et analyser JSON. Cependant, il est fastidieux d'écrire un script à chaque fois juste pour afficher et analyser une petite quantité de JSON.

Dans un tel cas, Python vous permet d'afficher et d'analyser des objets JSON simples sur la ligne de commande. Vous pouvez afficher le contenu du fichier JSON sur la ligne de commande en démarrant la ligne de commande ou le terminal et en entrant ce qui suit.

python -m json.tool test.json

Résultat d'exécution

{ “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

[Introduction à Python] Comment analyser JSON
[Introduction à Python] Comment gérer les données au format JSON
[Introduction à Python] Comment utiliser la classe en Python?
Comment installer Python
Comment installer python
Introduction au langage Python
Comment lire JSON
Introduction à OpenCV (python) - (2)
[Introduction à l'application Udemy Python3 +] 23. Comment utiliser Tapuru
Comment créer un fichier JSON en Python
Comment générer un objet Python à partir de JSON
Comment créer le plugin Python de Substance Painter (Introduction)
[2020.8 dernière] Comment installer Python
Comment installer Python [Windows]
Introduction à Python Django (2) Win
python3: Comment utiliser la bouteille (2)
[Python] Comment utiliser la liste 1
Comment mettre à jour Tkinter de Python vers la version 8.6
Analyser le fichier JSON en objet
Comment utiliser Python Argparse
Introduction à la communication série [Python]
Python: comment utiliser pydub
[Python] Comment utiliser checkio
Comment exécuter Notepad ++ Python
[Introduction à Python] <liste> [modifier le 22/02/2020]
Introduction à Python (version Python APG4b)
Comment changer la version de Python
Une introduction à la programmation Python
Comment développer en Python
[python] Comment juger scalaire
[Python] Comment utiliser input ()
[Introduction] Comment utiliser open3d
Comment utiliser Python lambda
[Python] Comment utiliser virtualenv
Introduction à Python pour, pendant
python3: Comment utiliser la bouteille (3)
python3: Comment utiliser la bouteille
Comment utiliser les octets Python
[Introduction à Python] Comment utiliser l'instruction while (traitement répétitif)
Comment convertir un fichier JSON en fichier CSV avec Python Pandas
[Introduction à Udemy Python3 + Application] 27. Comment utiliser le dictionnaire
[Introduction à Udemy Python3 + Application] 30. Comment utiliser l'ensemble
[Introduction à Python] Comment arrêter la boucle en utilisant break?
[Introduction à Python] Comment écrire des instructions répétitives à l'aide d'instructions for
Comment gérer JSON en Ruby, Python, JavaScript, PHP
Comment installer Python à l'aide d'Anaconda
[Présentation de l'application Udemy Python3 +] 31. Commentaire
[Python] Comment FFT des données mp3
Python: comment utiliser async avec
Introduction à la bibliothèque de calcul numérique Python NumPy
[Introduction à Python3 Jour 1] Programmation et Python
[Python] Comment utiliser la série Pandas
Comment collecter des images en Python
[Introduction à Python] <numpy ndarray> [modifier le 22/02/2020]
[Présentation de l'application Udemy Python3 +] 57. Décorateur
Introduction à Python Hands On Partie 1
[Introduction à Python3 Jour 13] Chapitre 7 Chaînes de caractères (7.1-7.1.1.1)
Comment utiliser les requêtes (bibliothèque Python)
Comment utiliser SQLite en Python
[Présentation de l'application Udemy Python3 +] 56. Clôture