是否可以一步完成这些操作?

时间:2019-05-06 06:09:14

标签: python python-3.x pandas

1。

    json_string = json.dumps(
        df.to_dict(orient='records'),
        indent=4
    )

2。

    json_string = json_string.replace('NaN', 'null')

有没有办法一步一步做到这两个?

2 个答案:

答案 0 :(得分:3)

最好使用DataFrame.to_json-还可以将丢失的值替换为null

df = pd.DataFrame({'col':['a',
                                np.nan,
                                'c']})

json_string = df.to_json(orient='records')
print (json_string)
[{"col":"a"},{"col":null},{"col":"c"}]

您的解决方案应使用simplejson进行更改:

import simplejson

json_string = simplejson.dumps(df.to_dict(orient='records'), ignore_nan=True)
print (json_string)
[{"col": "a"}, {"col": null}, {"col": "c"}]

或将缺失的值替换为None

json_string = json.dumps(
        df.mask(df.isna(), None).to_dict(orient='records'),
        indent=4,
    )

print (json_string)

[
    {
        "col": "a"
    },
    {
        "col": null
    },
    {
        "col": "c"
    }
]

答案 1 :(得分:0)

只需链接功能调用:

if(!newResponse.equals(oldResponse)){
    oldResponse = newResponse;
}else{
    return;
}
相关问题