0

Python およびプログラミング全般の初心者。Cisco UCM からデバイス カウントを取得するプログラムを作成しようとしています。現在、CUCM からモデルのリストを出力するプログラムを取得できますが、最終的には、各モデルがいくつ発生するかを確認したいと考えています。たとえば、CUCM サーバーに 5 つの 8845 と 3 つの 8865 がある場合、Python でその情報をすばやく表示したいと思います。

これが私の現在のコードです:

if __name__ == '__main__':

    resp = service.listPhone(searchCriteria={'name':'SEP%'}, returnedTags={'model': ''})

    model_list = resp['return'].phone
    for phone in model_list:
        print(phone.model)

Pandas から DataFrame を作成しようとしましたが、機能しませんでした。問題は、 phone.model 部分を変数として保存していないことだと思いますが、その方法がわかりません。

私の目標は、最終的に次のような出力を取得することです。

8845 - 5
8865 - 3

助けてくれてありがとう!

4

2 に答える 2

1

ここでは Pandas は必要ないようです。単純な古い Python では、counts以下のようなヘルパーを作成できます —</p>

from collections import defaultdict


def counts(xs):
    counts = defaultdict(int)
    for x in xs:
        counts[x] += 1
    return counts.items()

そして、あなたはそれをそのように使うことができます—</p>

models = ['a', 'b', 'c', 'c', 'c', 'b']

for item, count in counts(models):
    print(item, '-', count)

出力は —</p>

a - 1
b - 2
c - 3
于 2019-11-14T19:12:55.847 に答える