Comment sérialiser des tableaux NumPy en JSON en Python ?

Linda Hamilton
Libérer: 2024-11-03 14:18:03
original
781 Les gens l'ont consulté

How to Serialize NumPy Arrays to JSON in Python?

JSON sérialisant les tableaux NumPy

Lorsque vous rencontrez l'erreur "Le tableau n'est pas sérialisable JSON" lors du chargement de la page Web, cela signifie que le NumPy Le tableau dans la variable contextuelle Django ne peut pas être converti au format JSON. JSON (JavaScript Object Notation) est un format de données courant utilisé pour l'échange de données et nécessite que les données se trouvent dans une structure spécifique. Les tableaux NumPy, en revanche, ont une structure plus complexe qui ne peut pas être directement sérialisée en JSON.

Pour résoudre ce problème, vous pouvez utiliser la méthode ".tolist()" sur le tableau NumPy. Cette méthode convertit le tableau en une liste imbriquée, qui peut ensuite être sérialisée en JSON. Voici un exemple :

<code class="python">import numpy as np
import codecs, json

a = np.arange(10).reshape(2, 5)  # a 2 by 5 array
b = a.tolist()  # nested lists with the same data and indices

file_path = "/path.json"  ## your path variable
json.dump(b, codecs.open(file_path, 'w', encoding='utf-8'),
          separators=(',', ':'),
          sort_keys=True,
          indent=4) ### this saves the array in .json format</code>
Copier après la connexion

Pour "unjsonifier" le tableau, vous pouvez utiliser le code suivant :

<code class="python">obj_text = codecs.open(file_path, 'r', encoding='utf-8').read()
b_new = json.loads(obj_text)
a_new = np.array(b_new)</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal