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

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


我想在Django视图/模板中高度自定义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标记,但是没有运气。


我还查看了其他将呈现'nice'html的库,但是我想进一步使用进行自定义bootstrap。我还查看了wenzhixin的解决方案,但我希望获得更大的灵活性。


数据结构更新

该信息显然来自QuerySet,但是为了合并和枢转多个模型,我使用了Pandas。正确构建并格式化数据框后,我就使用了该df_dict.to_dict()方法(df_dict数据框在哪里),然后将其传递到上下文字典中。基本上:


context = {

    #stuff,

    'df_dict': df_dict,

    #more stuff,

    }


return context

我展示的结构很简单-列索引更有可能具有三个或更多键。值的大小和设计在设计上将是恒定的(换句话说,每个键组将有5行值字典,或在值字典中有19行)。


最后的说明,@ ScottSkiles弥补了差距-因此,这里的问题开始是在字典中使用字典,但最后使用模板示例的答案省略了模板中的.items方法,而数据集是一个列表。但是下面的答案是适当适用的。


Smart猫小萌
浏览 212回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python