-1
私は以下のネストされた辞書を持っています。これは、いくつかのデバイスと、デバイスごとに2つの値で構成されています。私はフラスコのページ内のテーブルにこれらを表示しようとしています。Python辞書の選択値を出力する
[(
{u'host': u'Spine1', u'type_instance': u'sysName', u'type': u'counter', u'value': 0, u'time': u'2016-11-09T21:44:00Z'},
{u'host': u'Spine1', u'type': u'uptime', u'value': 104473.72, u'time': u'2016-11-09T21:44:00Z'},
{u'host': u'Spine1', u'type': u'gauge', u'value': 249119600.0, u'time': u'2016-11-09T22:39:12Z'}),
(
{u'host': u'leaf1', u'type_instance': u'sysName', u'type': u'counter', u'value': 0, u'time': u'2016-11-09T21:44:00Z'},
{u'host': u'leaf1', u'type': u'uptime', u'value': 104466.68000000001, u'time': u'2016-11-09T21:44:00Z'},
{u'host': u'leaf1', u'type': u'gauge', u'value': 249069928.0, u'time': u'2016-11-09T22:39:12Z'}),
(
{u'host': u'leaf2', u'type_instance': u'sysName', u'type': u'counter', u'value': 0, u'time': u'2016-11-09T21:44:00Z'},
{u'host': u'leaf2', u'type': u'uptime', u'value': 104465.77, u'time': u'2016-11-09T21:44:00Z'},
{u'host': u'leaf2', u'type': u'gauge', u'value': 249119680.0, u'time': u'2016-11-09T22:39:12Z'}
)]
私の問題は、私はこれにアプローチする方法については、失われた時の適切なキーと値のペアとイムを選択するためのループのための神社を得ることができないです。
ここには、フラスコページのテーブルが表示されます。
<table>
<th>Device</th><th>Uptime</th><th>Mem Used</th
{% for host in HostAll %}
<tr>
{% for item in host %}
{% for key, value in item.iteritems() %}
{% if key == 'host' %}
<td><a href = "{{ item.host }}"><b>{{ item.host }}</b></a></td>
{% elif key == 'value' %}
<td> {{ value }}</td>
{% endif %}
{% endfor %}
{% endfor %}
</tr>
{% endfor %}
</table>
そして、ここの表は、私は、各デバイスのためのラインのそれぞれから各行ショー「ホスト」、「バリュー」、「価値」を持っていると思い Table
をどのように見えるかです。
私は正しい軌道に乗っているのですか、それとももっと良い方法がありますか?
いつもありがとうございます!
どのような出力が得られますか?それはあなたが欲しいもののようなものですか?そうでない場合は、何が変わっていますか?あなたが本当に求めているのは、あなたのために文字列を動かすことだけです。 – davidism
@davidism最後に投稿したスクリーンショットをご覧ください。ループ内の各列の特定のキー、値のペアを選択するのは難しい作業です。また、各値を適切な形式に変換する必要がありますが、それは後で行います。簡単にすると、辞書を変更するだけで、InfluxDBデータベースへの多数のクエリを構築することができます。 – that1guy15
2つのキーだけを印刷したいのであれば、なぜ辞書全体を反復処理する必要がありますか?その2つのキーを印刷するだけです。 – dirn