为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Smart猫小萌 2021-03-28 12:14:36
如何在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                         1000Line 2                100   Line 3     53000               2000Line 4     -120000      Line 5     45000我已经厌倦了一个简单的模板标签来像这样遍历字典:{% for key, value in object %}    <li>{{key}} : {{value}}</li>{% endfor %}但它仅提供:Key1 : Key2Key3 : Key2Key4 : 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方法,而数据集是一个列表。但是下面的答案是适当适用的。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 211 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号