Convertir JSON en un Pandas DataFrame
-
JSON en Pandas DataFrame en utilisant
json_normalize()
-
JSON vers Pandas DataFrame en utilisant
read_json()
Cet article présente la manière de convertir JSON en Pandas DataFrame.
JSON signifie JavaScript Object Notation. Il est basé sur le format des objets en JavaScript et est une technique de codage pour représenter des données structurées. Il est largement utilisé de nos jours, notamment pour le partage de données entre serveurs et applications web.
En raison de sa simplicité et de l’influence des structures de données du langage de programmation, JSON est en train de devenir immensément populaire. Il est relativement facile à comprendre, et ce qui suit est un exemple simple de réponse JSON d’une API.
{
"Results":
[
{ "id": "01", "Name": "Jay" },
{ "id": "02", "Name": "Mark" },
{ "id": "03", "Name": "Jack" }
],
"status": ["ok"]
}
Comme vous pouvez le voir dans notre exemple, JSON semble être en quelque sorte une combinaison de listes et de dictionnaires imbriqués ; il est donc relativement facile d’extraire des données de fichiers JSON et même de les stocker sous forme de Pandas DataFrame.
Les bibliothèques Pandas et JSON en Python peuvent aider à réaliser cela. Nous avons deux fonctions read_json()
et json_normalize()
qui peuvent aider à convertir une chaîne JSON en DataFrame.
JSON en Pandas DataFrame en utilisant json_normalize()
La fonction json_normalize()
est très largement utilisée pour lire la chaîne JSON imbriquée et retourner un DataFrame. Pour utiliser cette fonction, nous devons d’abord lire la chaîne JSON en utilisant la fonction json.loads()
de la bibliothèque JSON en Python. Ensuite, nous passons cet objet JSON à la fonction json_normalize()
, qui retournera un DataFrame Pandas contenant les données requises.
import pandas as pd
import json
from pandas import json_normalize
data = """
{
"Results":
[
{ "id": "1", "Name": "Jay" },
{ "id": "2", "Name": "Mark" },
{ "id": "3", "Name": "Jack" }
],
"status": ["ok"]
}
"""
info = json.loads(data)
df = json_normalize(info["Results"]) # Results contain the required data
print(df)
Production :
id Name
0 1 Jay
1 2 Mark
2 3 Jack
JSON vers Pandas DataFrame en utilisant read_json()
Une autre fonction de Pandas pour convertir JSON en DataFrame est read_json()
pour des chaînes JSON plus simples. Nous pouvons passer directement le chemin d’un fichier JSON ou la chaîne JSON à la fonction de stockage des données dans une DataFrame Pandas. La fonction read_json()
a de nombreux paramètres, parmi lesquels orient
spécifie le format de la chaîne JSON.
L’inconvénient est qu’il est difficile à utiliser avec des chaînes JSON imbriquées. Donc pour l’utilisation de read_json()
, nous utiliserons un exemple beaucoup plus simple comme montré ci-dessous :
import pandas as pd
data = """
{
"0":{
"Name": "Jay",
"Age": "17"
},
"1":{
"Name": "Mark",
"Age": "15"
},
"2":{
"Name": "Jack",
"Age":"16"
}
}
"""
df = pd.read_json(data, orient="index")
print(df)
Production :
Name Age
0 Jay 17
1 Mark 15
2 Jack 16
Nous définissons orient
comme 'index'
parce que la chaîne JSON deat correspond au modèle comme {index : {colonne : valeur}}
.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInArticle connexe - Pandas DataFrame
- Comment obtenir les en-têtes de colonne de Pandas DataFrame sous forme de liste
- Comment supprimer une colonne de Pandas DataFrame
- Comment convertir la colonne DataFrame en date-heure dans Pandas
- Comment convertir un float en un entier dans Pandas DataFrame
- Comment trier le DataFrame de Pandas par les valeurs d'une colonne
- Comment obtenir l'agrégat des Pandas par groupe et par somme