我有一个dataframe df,并尝试将dataframe转换为json,如下所示:
from flask import Flask
import pandas as pd
app=Flask(__name__)
@app.route('/graph')
def plot():
df=pd.DataFrame([['madrid', 10], ['venice', 20], ['las vegas', 40], ['brighton', 35]],
columns=['city', 'temp'])
jsondata=df.to_json(orient='records')
return jsondata
if __name__=='__main__':
app.run()o/p如下:
[{"city":"madrid","temp":10},{"city":"venice","temp":20},{"city":"las vegas","temp":40},{"city":"brighton","temp":35}]如果我使用orient='split' o/p是:
{"columns":["city","temp"],"index":[0,1,2,3],"data":[["madrid",10],["venice",20],["las vegas",40],["brighton",35]]}我正在寻找一个产出如下:
{
"trace1":[{"city":["madrid",....],"temp":[10,20,...]}]
}我不知道city和temp可以像上面那样,但是尝试了trace1至少作为return {"trace1":jsondata},但是这给了我
{
"trace1": "{\"columns\":[\"city\",\"temp\"],\"index\":[0,1,2,3],\"data\":[[\"madrid\",10],[\"venice\",20],[\"las vegas\",40],[\"brighton\",35]]}"
}发布于 2019-10-10 08:55:52
将DataFrame.to_dict与orient='list'一起用于字典,然后转换为json:
import json
jsondata= json.dumps({"trace1":[df.to_dict(orient='list')]})
print (jsondata)
{"trace1": [{"city": ["madrid", "venice", "las vegas", "brighton"],"temp": [10, 20, 40, 35]}]}https://stackoverflow.com/questions/58317550
复制相似问题