2014-11-04 2 views
1

Я пытаюсь создать JSON из dataframeкак конвертировать панд dataframe в JSon использовать в шаблоне Джанго

response_data = [ 
     { "x_axis": 30, "y_axis": 30, "radius": 20, "color": "green" }, 
     { "x_axis": 70, "y_axis": 70, "radius": 20, "color": "green" }, 
     { "x_axis": 110, "y_axis": 100, "radius": 20, "color": "blue" } 
    ] 
    result = HttpResponse(json.dumps(response_data), content_type = 'application/json') 

Если я использую выше, я хотел бы получить

Content-Type: application/json [{"color": "green", "y_axis": 30, "x_axis": 30, "radius": 20}, {"color": "green", "y_axis": 70, "x_axis": 70, "radius": 20}, {"color": "blue", "y_axis": 100, "x_axis": 110, "radius": 20}] 

это именно формат, Я хочу, но если я пытаюсь сделать это из dataframe, используя что-то вроде:

d = {'one' : pd.Series([1., 2., 3.]),'two' : pd.Series([1., 2., 3., 4.])} 
df0_fa = pd.DataFrame(d) 
df0_js = df0_fa.to_json() 
result2 = HttpResponse(json.dumps(df0_js), content_type = 'application/json') 

Я получил этот формат JSON:

Content-Type: application/json "{\"one\":{\"0\":1.0,\"1\":2.0,\"2\":3.0,\"3\":null},\"two\":{\"0\":1.0,\"1\":2.0,\"2\":3.0,\"3\":4.0}}" 

Но то, что я действительно хочу

Content-Type: application/json [{"one" : 1.0,"two" :1.0},{"one" : 2.0,"two" :2.0},{"one" : 3.0,"two" :3.0},{"one" : null,"two" :4.0}] 

что это обратная косая черта делать здесь? и [] Я пробовал настройку по-другому, но не работает. любая рекомендация будет оценена по достоинству. Благодарю.

ответ

5

Вы дважды конвертируете его в JSON. df0_fa.to_json() делает, то json.dumps() делает. Вобще: result2 = HttpResponse(df0_js, content_type = 'application/json')

Некоторые заметки на to_json(): http://pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.html

Хорошая страница на json.dumps(): http://www.pythonforbeginners.com/python-on-the-web/parsingjson/

+0

спасибо! я взял весь день. Спасибо Спасибо – JPC

Смежные вопросы