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