如何将熊猫数据框显示到Django模板中?

时间:2020-04-04 02:01:18

标签: python django pandas

我有一个pandas数据框,我想将此数据框显示到django模板中。但是每次代码成功编译时,都不会在我的Django Web应用程序中显示任何表。我在这里想念什么?我的数据框如下所示:

dataframe sample

和我的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>

我尝试了final_data.itertuplus,但仍然得到了相同的结果。我现在该怎么办?

1 个答案:

答案 0 :(得分:1)

好像有两个选择:

  1. 按原样保留DataFrame,然后在模板中使用一条语句。

    当前,您正在使用pandas.DataFrame.iterrows方法,但未调用该方法。

    通过在()的末尾添加final_data.iterrows来调用该方法。

    (此外,请确保使用</tr>关闭表标题行。)

  2. DataFrame转换为HTML,然后在模板中使用表达式。

    正如@david-sielski所述,请考虑使用pandas.DataFrame.to_html方法。

    看看这个How to render Pandas DataFrame as HTML Table?

    的例子

    取消注释final_df = final_df.to_html()行并将表替换为{{ final_data }}

    (此外,请确保使用classes kwarg添加样式类。)

如果还没有,请查看如何使用developer tools检查HTML。

如果有任何疑问,请评论

粘土