Les valeurs null, au lieu de Nvos, dans les Données JSON avec Python
Je suis en train de travailler avec les données suivantes (des points de données spécifiques obscurci et tronquée ici à titre d'exemple):
[{"title": null, "metric1": 361429, "metric2": 36,},{"title": null, "metric1": 253798, "metric2": 48}]
Quand je tente d'attribuer ces données à une variable en Python (avec l'objectif de l'analyse), je reçois le message d'erreur suivant:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'null' is not defined
D'après mes recherches, il semble que la None
est Python, en réponse à null
. Ce que je me pose est, est-il possible de changer la null
's dans mes données à None
's à l'aide de Python?
J'ai essayé de créer une chaîne de données, en les confiant à data
, et le remplacement de la null
que:
data = data.replace('null','None')
mais que les résultats dans une chaîne de caractères de la donnée elle-même:
data = '[{"title": None, "metric1": 361429, "metric2": 36,},{"title": None, "metric1": 253798, "metric2": 48}]'
et je ne peux pas comprendre comment l'activer à partir d'une chaîne de retour en JSON.
Si quelqu'un a des connaissances, je vous en serais reconnaissant!
EDIT: je suis de copier et de coller ces données dans l'interpréteur Python à partir d'une autre source.
Ce n'est pas une chaîne json. La virgule à la fin de
"metric2": 36,
ne devrait pas être là.Il semble que vous collez ceci dans l'interpréteur python (ce qui signifie que sa syntaxe de python, pas de JSON). Est-ce le cas, et si oui, pourquoi ne pas le mentionner?
vous avez raison! Je suis copier et coller dans l'interprète. Des excuses pour ne pas mentionner; il n'était pas sur le but, juste un détail qui a glissé mon esprit. Bon appel.
OriginalL'auteur Daniel | 2015-03-03
Vous devez vous connecter pour publier un commentaire.
Beaucoup plus simple!
Suffit d'attribuer
None
ànull
avant d'attribuer cette liste à une variable:Ensuite, vous n'aurez pas besoin de faire la plutôt inutile de conversion d'une chaîne de caractères (retour à un objet Python avec
json.loads
) seulement pour remplacernull
parNone
.Mais qui n'est nécessaire que si vous êtes à copier-coller ce code à partir d'une source. Sinon, la réponse canonique est d'utiliser
json.loads
(oujson.load
).J'ai pensé que c'est tellement délicat. Comment parler d'un autre moyen de le convertir en
None
?OriginalL'auteur Oliver W.
Comme il est mentionné ci-dessus, vous n'avez pas besoin de remplacer
"null"
pour"None"
Juste
OriginalL'auteur levi