如何从Pandas数据帧返回Django的JsonResponse返回的数据?

2024-09-30 11:36:31 发布

您现在位置:Python中文网/ 问答频道 /正文

答案可能很简单,但经过几个小时的搜索,我真的找不到它

我试图使用Django从pandas数据帧返回JsonResponse。我尝试过的许多事情之一是:

from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
import pandas as pd

@csrf_exempt
def do_request(request):
    result = pd.DataFrame({'bla':[1,2,3],'bla2':['a','b','c']}).to_json(orient='records')
    return JsonResponse(result, safe = False)

以下内容最终返回:

"[{\"bla\":1,\"bla2\":\"a\"},{\"bla\":2,\"bla2\":\"b\"},{\"bla\":3,\"bla2\":\"c\"}]"

事实上,我希望它返回:

'[{"bla":1,"bla2":"a"},{"bla":2,"bla2":"b"},{"bla":3,"bla2":"c"}]'


Tags: django答案fromimportpandasrequestresultcsrf
1条回答
网友
1楼 · 发布于 2024-09-30 11:36:31

您需要将python对象(例如字典或列表)作为JsonResponse数据传递。但是to_json返回字符串。所以试着解析它:

import json

@csrf_exempt
def do_request(request):
    result = pd.DataFrame({'bla':[1,2,3],'bla2':['a','b','c']}).to_json(orient='records')
    return JsonResponse(json.loads(result), safe = False)

相关问题 更多 >

    热门问题