Comment convertir un DataFrame Pandas en JSON
Souvent, vous pourriez être intéressé par la conversion d’un DataFrame pandas au format JSON.
Heureusement, cela est facile à faire en utilisant la fonction to_json() , qui vous permet de convertir un DataFrame en chaîne JSON avec l’un des formats suivants :
- ‘split’ : dict comme {‘index’ -> [index], ‘colonnes’ -> [colonnes], ‘données’ -> [valeurs]}
- ‘records’ : liste comme [{column -> value}, … , {column -> value}]
- ‘index’ : dict comme {index -> {colonne -> valeur}}
- ‘colonnes’ : dict comme {colonne -> {index -> valeur}}
- ‘values’ : juste le tableau de valeurs
- ‘table’ : dict comme {‘schema’ : {schéma}, ‘data’ : {data}}
Ce didacticiel montre comment convertir un DataFrame dans chacun des six formats à l’aide du DataFrame pandas suivant :
import pandas as pd #create DataFrame df = pd.DataFrame({'points': [25, 12, 15, 19], 'assists': [5, 7, 7, 12]}) #view DataFrame df points assists 0 25 5 1 12 7 2 15 7 3 19 12
Méthode 1 : « Diviser »
df.to_json(orient='split') { "columns": [ "points", "assists" ], "index": [ 0, 1, 2, 3 ], "data": [ [ 25, 5 ], [ 12, 7 ], [ 15, 7 ], [ 19, 12 ] ] }
Méthode 2 : « Enregistrements »
df.to_json(orient='records') [ { "points": 25, "assists": 5 }, { "points": 12, "assists": 7 }, { "points": 15, "assists": 7 }, { "points": 19, "assists": 12 } ]
Méthode 3 : « Index »
df.to_json(orient='index') { "0": { "points": 25, "assists": 5 }, "1": { "points": 12, "assists": 7 }, "2": { "points": 15, "assists": 7 }, "3": { "points": 19, "assists": 12 } }
Méthode 4 : « Colonnes »
df.to_json(orient='columns') { "points": { "0": 25, "1": 12, "2": 15, "3": 19 }, "assists": { "0": 5, "1": 7, "2": 7, "3": 12 } }
Méthode 5 : « Valeurs »
df.to_json(orient='values') [ [ 25, 5 ], [ 12, 7 ], [ 15, 7 ], [ 19, 12 ] ]
Méthode 6 : « Tableau »
df.to_json(orient='table') { "schema": { "fields": [ { "name": "index", "type": "integer" }, { "name": "points", "type": "integer" }, { "name": "assists", "type": "integer" } ], "primaryKey": [ "index" ], "pandas_version": "0.20.0" }, "data": [ { "index": 0, "points": 25, "assists": 5 }, { "index": 1, "points": 12, "assists": 7 }, { "index": 2, "points": 15, "assists": 7 }, { "index": 3, "points": 19, "assists": 12 } ] }
Comment exporter un fichier JSON
Vous pouvez utiliser la syntaxe suivante pour exporter un fichier JSON vers un chemin de fichier spécifique sur votre ordinateur :
#create JSON file json_file = df.to_json(orient='records') #export JSON file with open('my_data.json', 'w') as f: f.write(json_file)
Vous pouvez trouver la documentation complète de la fonction pandas to_json() ici .