В настоящее время я работаю над переходом с python 2.7 на python 3.6
Код Python 2.7, который работает
json.dump(data, ignore_nan=True)
Код Python 3.6
json.dumps(charts, allow_nan=False)
Сообщение об ошибке:
{ValueError}Out of range float values are not JSON complaint
Как мне сбрасывать информацию, игнорируя значения nan?
Пример:
"series": [
{
"data": [
{
"value": 60.6,
"x": 1538431200000.0
},
{
"value": 80.6,
"x": 1538434800000.0
},
После многих попыток, которые работают как:
import simplejson
simplejson.dumps(data, ignore_nan=True)
allow_nan=True
должен делать трюк. У меня не было никаких проблем с опцией allow_nan.
>>> a = [{"k": 1, "v": float('nan')}, {"k": 2, "v": float('inf')}]
>>> a
[{'k': 1, 'v': nan}, {'k': 2, 'v': inf}]
>>> import json
>>> json.dumps(a)
'[{"k": 1, "v": NaN}, {"k": 2, "v": Infinity}]'
>>> import sys
>>> print (sys.version)
3.6.6 (default, Jul 19 2018, 14:25:17)
[GCC 8.1.1 20180712 (Red Hat 8.1.1-5)]