pandas to_json , django 和 d3.js 用于可视化
Posted
技术标签:
【中文标题】pandas to_json , django 和 d3.js 用于可视化【英文标题】:pandas to_json , django and d3.js for visualisation 【发布时间】:2021-09-08 00:04:26 【问题描述】:我有一个 pandas 数据框,我将它转换为 json 以便创建图形并使用 d3.js 进行可视化,所以我想知道如何发送在 django 中获得的这种 json 格式(在视图或模板中)以便可视化使用 d3.js
def parasol_view(request):
parasol = function_parasol()
parasol_json = parasol.to_json(orient='records')
parasol = parasol.to_html(index = False, table_id="table_parasol")
context =
'parasol': parasol
'parasol_json':parasol_json
return render(request,'parasol.html',context)
模板:
%block content%
parasol| safe
parasol_json| safe
%endblock content%
【问题讨论】:
【参考方案1】:我不确定 parasol.to_html 是做什么用的,因此我没有触及那部分。 但为了使用您的 .json 文件,我会这样做:
Views.py:
def parasol_view(request):
parasol = function_parasol()
# parasol_json = parasol.to_json(orient='records')
parasol = parasol.to_html(index = False, table_id="table_parasol")
context =
'parasol': parasol
# 'parasol_json':parasol_json
return render(request,'parasol.html', context)
功能阳伞:
function_parasol()
#whatever code you have here
#I made a new var parasol2 for this so that the parasol that will be returned will be the same as before.
#So that you can still use it for parasol.to_html
parasol2 = parasol.to_json(orient='records')
text_file = open("parasol.json", "w") #name of file, make sure it ends with .json
text_file.write(parasol2)
text_file.close()
return parasol
你想用 d3 制作图表的 javascript 文件:
//so basically var_name = parasol.json
d3.json("/parasol.json", function(var_name)
//Go make your graphs
);
附言。如果您要上传被解析为 json 文件的文件。 Parasol.json 每次都会被覆盖。 所以在某些时候不会有大量的 json 文件。
【讨论】:
以上是关于pandas to_json , django 和 d3.js 用于可视化的主要内容,如果未能解决你的问题,请参考以下文章
pandas DataFrame 使用 to_json() 到字典列表
为 Django 模板中的 Highcharts 从 Pandas 数据帧格式化 JSON
Pandas DataFrame to_json() 生成带点符号的索引