2017-07-03 6 views
0

私はいくつかのapiリクエストを持っており、応答として私はリストに入れたjsonを得ました。 このリストは、次のとおりです。私は名前だけとVMIDを持って新しいものを作成する必要があり、このリストからリストから最初の明示的な値を持つ新しいリストを作成します。

[ 
    { 
     "status": "running", 
     "node": "node-name", 
     "uptime": 9484726, 
     "name": "hostname", 
     "maxcpu": 2, 
     .... 
     .... 
     .... 
     .... 
    }, 
    { 
     "status": "running", 
     "node": "node-name", 
     "uptime": 9484726, 
     "name": "hostname", 
     "maxcpu": 2, 
     .... 
     .... 
     .... 
     .... 
    }, 
    { 
     "status": "running", 
     "node": "node-name", 
     "uptime": 9484726, 
     "name": "hostname", 
     "maxcpu": 2, 
     .... 
     .... 
     .... 
     .... 

、および必要性は次のようになります。

[ 
    { 
    "name": "some-name", 
    "vmid": "some-vmid" 
    }, 
    { "name": "some-name", 
    "vmid": "some-vmid" 
    } 

がどのようにPythonでこれを行うには?

+0

read_json JSON自体を使用してデータフレームを作成することができますなぜあなたはあなたの問題のためにパンダのデータフレームを使用してはいけません。 –

+0

'map(lambda d:{'name':d ['name']、 'vmid':d ['vmid']}、mylist)' – somnium

答えて

0

をこのリスト内包表記を行うことができます。

small_list = [] 
for dic in big_list: 
    small_list.append({'name': dic['name'], 'vmid': dic['vmid']}) 
+0

よかった!私はこのようなことをしようとするが、私は間違いをする。皆さんありがとうございました! – Petar

0

あなたがこれはそれを行う必要があり、このよう

result = [{'name':i['name'],'vmid':i['vmid']} for i in data] 
0

パンダは、高性能で使いやすいデータ構造を提供するオープンソースのライブラリですPythonプログラミング言語用のデータ解析ツールなどがあります。詳細はlinkを参照してください。パンダを使用して コード:

import pandas as pd 
data = pd.DataFrame(input_list) 
list_dict = data[["name", "vmid"]].to_dict(orient="records") 

か、我々は

data = pd.read_json(json_data, orient="records") 
list_dict = data[["name", "vmid"]].to_dict(orient="records") 
関連する問題