0

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

我正在尝试使用 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"}]'

4

1 回答 1

5

您需要将 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)
于 2020-01-23T15:04:56.427 回答