问题陈述 - 我想要做的是使用Django和pandas创建一个仪表板。 Pandas将执行计算部分,Django将显示数据以及所有绘图和图形。
已实现:在视图文件中创建了一个应用程序并导入了pandas。然后渲染它。虽然显示我的数据,但我的数据的错误屏幕。我所理解的是我必须使用模板来显示我的数据。
我的代码:
def index(request):
df = pd.DataFrame(pd.read_csv("C:/Users/lol/Desktop/lol.csv"))
dff = df[["column_one", "column_two", "column_three"]]
dff = dff.set_index("column_one")
return render(request, dff.head(5))
如果有人可以指出我如何以表格格式将数据框推送到网站。 当前的HTML格式。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<p>Hello Hi </p>
</body>
</html>
提前致谢,我是Django的新手。
答案 0 :(得分:0)
pandas中的数据帧具有to_html方法,可用于获取html字符串。您可以在视图中将此字符串传递给变量,然后在模板中,您可以像简单变量一样访问它。例如,view中的return语句可以是
return render(request, template_name, context={'data': dataframe.to_html()})
然后在您的模板中,您只需使用{{ data|safe }}
将其打印出来。
供参考,https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_html.html