gpt4 book ai didi

python - Django - 格式化/访问模板中的 Pandas.to_dict() 数据框

转载 作者:行者123 更新时间:2023-12-01 09:19:08 26 4
gpt4 key购买 nike

如何在 Django 模板中访问这种类型的字典(字典中的字典)?

我想在 Django View /模板中高度自定义 Pandas 生成的 DataFrame。我能够生成我想要呈现的字典,但使用模板标签访问元素已被证明很困难。

这是字典的示例:

df_dict =
{
('Key1', 'Key2'): {
'Line 1': '',
'Line 2': '',
'Line 3': 53000.0,
'Line 4': -120000.0,
'Line 5': 45000.0
},
('Key3', 'Key2'): {
'Line 1': '',
'Line 2': 100.0,
'Line 3': '',
'Line 4': '',
'Line 5': ''
},
('Key4', 'Key2'): {
'Line 1': 1000.0,
'Line 2': '',
'Line 3': 2000.0,
'Line 4': '',
'Line 5': ''
}
}

我想要的模板输出(不考虑CSS格式)是:

           Key1       Key3     Key4
Key2 Key2 Key2
Line 1 1000
Line 2 100
Line 3 53000 2000
Line 4 -120000
Line 5 45000

我已经厌倦了一个简单的模板标签来迭代字典,如下所示:

{% for key, value in object %}
<li>{{key}} : {{value}}</li>
{% endfor %}

但它只提供:

Key1 : Key2
Key3 : Key2
Key4 : Key2

我不知道如何进入作为上述键对的值的字典。我还尝试过无数的 .dot 表示法标签,但没有任何运气。

我还查看了其他可以呈现“漂亮”html 的库,但我想使用 bootstrap 进一步自定义。我还看过wenzhixin的解决方案,但我想要更大的灵 active 。

数据结构更新

信息显然来自查询集,但为了从多个模型合并和旋转,我使用了 Pandas。一旦数据帧被正确构建和格式化,我就使用了 df_dict.to_dict() 方法(其中 df_dict 是我的数据帧),然后将其传递到上下文字典中。基本上:

context = {
#stuff,
'df_dict': df_dict,
#more stuff,
}

return context

我展示的结构很简单 - 列索引更有可能具有三个或更多键。值的大小和设计将根据设计保持不变(换句话说,每个键组将有 5 行值字典,或 19 行值字典)。

最终说明 @ScottSkiles 缩小了差距 - SO 问题 here一开始使用字典中的字典,但最后使用模板示例的答案省略了模板中的 .items 方法,并且数据集是一个列表。但下面的答案是适当应用的。

最佳答案

尝试:

{% for key, values in object.items %}
<li>{{key}} :
<ul>
{% for value in values %}
<li>{{value.name}}</li>
{% endfor %}
</ul>
</li>
{% endfor %}

通过:how to iterate through dictionary in a dictionary in django template?

关于python - Django - 格式化/访问模板中的 Pandas.to_dict() 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50954875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com