Python - Traitement des données JSON
Le fichier JSON stocke les données sous forme de texte dans un format lisible par l'homme. JSON signifie JavaScript Object Notation. Les pandas peuvent lire les fichiers JSON en utilisant leread_json fonction.
Des données d'entrée
Créez un fichier JSON en copiant les données ci-dessous dans un éditeur de texte comme le bloc-notes. Enregistrez le fichier avec.json extension et en choisissant le type de fichier comme all files(*.*).
{
"ID":["1","2","3","4","5","6","7","8" ],
"Name":["Rick","Dan","Michelle","Ryan","Gary","Nina","Simon","Guru" ]
"Salary":["623.3","515.2","611","729","843.25","578","632.8","722.5" ],
"StartDate":[ "1/1/2012","9/23/2013","11/15/2014","5/11/2014","3/27/2015","5/21/2013",
"7/30/2013","6/17/2014"],
"Dept":[ "IT","Operations","IT","HR","Finance","IT","Operations","Finance"]
}
Lire le fichier JSON
le read_json La fonction de la bibliothèque pandas peut être utilisée pour lire le fichier JSON dans un pandas DataFrame.
import pandas as pd
data = pd.read_json('path/input.json')
print (data)
Lorsque nous exécutons le code ci-dessus, cela produit le résultat suivant.
Dept ID Name Salary StartDate
0 IT 1 Rick 623.30 1/1/2012
1 Operations 2 Dan 515.20 9/23/2013
2 IT 3 Tusar 611.00 11/15/2014
3 HR 4 Ryan 729.00 5/11/2014
4 Finance 5 Gary 843.25 3/27/2015
5 IT 6 Rasmi 578.00 5/21/2013
6 Operations 7 Pranab 632.80 7/30/2013
7 Finance 8 Guru 722.50 6/17/2014
Lecture de colonnes et de lignes spécifiques
Similaire à ce que nous avons déjà vu dans le chapitre précédent pour lire le fichier CSV, le read_jsonLa fonction de la bibliothèque pandas peut également être utilisée pour lire certaines colonnes et lignes spécifiques après la lecture du fichier JSON dans un DataFrame. Nous utilisons la méthode d'indexation multi-axes appelée.loc()dans ce but. Nous choisissons d'afficher la colonne Salaire et Nom pour certaines des lignes.
import pandas as pd
data = pd.read_json('path/input.xlsx')
# Use the multi-axes indexing funtion
print (data.loc[[1,3,5],['salary','name']])
Lorsque nous exécutons le code ci-dessus, cela produit le résultat suivant.
salary name
1 515.2 Dan
3 729.0 Ryan
5 578.0 Rasmi
Lire un fichier JSON en tant qu'enregistrements
Nous pouvons également appliquer le to_json fonction avec des paramètres pour lire le contenu du fichier JSON dans des enregistrements individuels.
import pandas as pd
data = pd.read_json('path/input.xlsx')
print(data.to_json(orient='records', lines=True))
Lorsque nous exécutons le code ci-dessus, cela produit le résultat suivant.
{"Dept":"IT","ID":1,"Name":"Rick","Salary":623.3,"StartDate":"1\/1\/2012"}
{"Dept":"Operations","ID":2,"Name":"Dan","Salary":515.2,"StartDate":"9\/23\/2013"}
{"Dept":"IT","ID":3,"Name":"Tusar","Salary":611.0,"StartDate":"11\/15\/2014"}
{"Dept":"HR","ID":4,"Name":"Ryan","Salary":729.0,"StartDate":"5\/11\/2014"}
{"Dept":"Finance","ID":5,"Name":"Gary","Salary":843.25,"StartDate":"3\/27\/2015"}
{"Dept":"IT","ID":6,"Name":"Rasmi","Salary":578.0,"StartDate":"5\/21\/2013"}
{"Dept":"Operations","ID":7,"Name":"Pranab","Salary":632.8,"StartDate":"7\/30\/2013"}
{"Dept":"Finance","ID":8,"Name":"Guru","Salary":722.5,"StartDate":"6\/17\/2014"}