fa2*_*007 4 python django pandas
我有一个pandasDataFrame,我想将此 DataFrame 显示到我的Django模板中。但每次代码编译成功时,我的Django网络应用程序中都不会显示任何表格。我在这里缺少什么?我的数据框看起来像这样:
我的 html 看起来像:
<div class="row" style="margin-bottom: 20px;">
<div class="col-md-3">
</div>
<div class="col-md-9">
<div class="card" style="width: auto;">
<div class="card-body">
<h3 class="h3">Total match data and Profit Mergin</h3>
<br>
<table class="table table-striped">
<tr>
<th>Total Contest</th>
<th>Total Entry Amount</th>
<th>Total Seat</th>
<th>Total Winning Amount</th>
<th>Total Team Capacity</th>
<th>Profit Mergin</th>
{% for value in final_data.iterrows %}
<tr>
<td>{{ value.0 }}</td>
<td>{{ value.1 }}</td>
<td>{{ value.2 }}</td>
<td>{{ value.3 }}</td>
<td>{{ value.4 }}</td>
<td>{{ value.5 }}</td>
</tr>
{% endfor %}
</table>
</div>
</div>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
我尝试过final_data.iterrows但仍然得到相同的结果。我现在应该怎么做?
Pab*_*ero 11
这是一个基本的 html 表,在 django 模板中显示 pandas 数据框:
<table>
<tr>
{% for col in df.columns %}
<td>
{{col}}
</td>
{% endfor %}
</tr>
{% for index, row in df.iterrows %}
<tr>
{% for cell in row %}
<td>
{{cell}}
</td>
{% endfor %}
</tr>
{% endfor %}
</table>
Run Code Online (Sandbox Code Playgroud)
这个不显示索引,所以如果你想渲染它,你可以传递df.reset_index()给模板。
看起来有两个选择:
保持DataFrame原样,然后在模板中使用语句。
目前,您正在使用该pandas.DataFrame.iterrows方法,但未调用该方法。
()通过在 的末尾添加来调用该方法final_data.iterrows。
(另外,请确保用 关闭表格标题行</tr>。)
将其转换DataFrame为 HTML,然后在模板中使用表达式。
正如@david-sielski提到的,考虑使用该pandas.DataFrame.to_html方法。
看一下如何将 Pandas DataFrame 渲染为 HTML 表?
取消注释该final_df = final_df.to_html() 行并将表格替换为{{ final_data }}。
(另外,请确保使用 kwarg 添加样式类classes。)
如果您还没有使用开发者工具来检查 HTML,请查看如何使用它。
如果有任何疑问请评论,
黏土