Le moyen le plus rapide pour analyser les chaînes JSON dans les tableaux numpy

J'ai d'énormes objets json contenant 2D listes de coordonnées que j'ai besoin de transformer en tableaux numpy pour le traitement.

Cependant, l'utilisation de json.loads suivi avec np.array() est trop lent.

Est-il un moyen d'augmenter la vitesse de création de tableaux numpy de json?

import json
import numpy as np

json_input = '{"rings" : [[[-8081441.0, 5685214.0], [-8081446.0, 5685216.0], [-8081442.0, 5685219.0], [-8081440.0, 5685211.0], [-8081441.0, 5685214.0]]]}'

dict = json.loads(json_input)
numpy_2d_arrays = [np.array(ring) for ring in dict["rings"]]

Je prendrais quelque solution que ce soit!

  • Je suis un json décodeur d'erreur: "Fichier "/usr/lib/python3.5,... json.décodeur.JSONDecodeError: Attend valeur: ligne 1, colonne 14 (char 13)`
  • vous avez raison, c'est corrigé
  • C'était la () qui étaient non-standard JSON.
  • D'autres analyseurs sont eval et ast.literal_eval (safer). Sur ce petit échantillon json.loads est sensiblement plus rapide. Le np.array partie prend encore moins de temps.