2017-12-13 22 views
0

私はPython言語の新機能です。 1つの問題に遭遇しました。つまり、Pythonのフラットなテーブルからネストされたハッシュを生成する必要があります。必要 実際の出力:Pythonのフラットテーブルからネストされたハッシュを作成するにはどうすればよいですか?

{ 
    rid:'prkattim', 
    'rname':'prashant', 
    'proj':[ 
       { 
        'proid':P0123, 
        'proname':'Colgate Challenge', 
        'allocs':[ 
           { 
            'allocid':'Alloc1', 
            'allocinfo':'Allocation for month 12', 
            'price':26 
           }, 
           { 
            'allocid':'Alloc2', 
            'allocinfo':'Allocation for month 11', 
            'price':26 
           }, 
           { 
            'allocid':'Alloc3', 
            'allocinfo':'Allocation for month 10', 
            'price':24 
           } 
          ] 
       }, 
       { 
        'proid':P0124, 
        'proname':'Ramoji Film city challenge', 
        'allocs':[ 
           { 
            'allocid':'Alloc1', 
            'allocinfo':'Allocation for month 10', 
            'price':120 
           } 
          ] 
       } 
      ] 
} 

SQLテーブルは、ロジックで私を助けてください、この

id  rid   rname  proid  proname     allocid   allocinfo   proce 
'1' 'prkattim' 'prashant' 'P0123' 'Colget challenge'   'Alloc1' 'Allocation for month 12' '25' 
'2' 'prkattim' 'prashant' 'P0123' 'Colget challenge'   'Alloc2' 'Allocation for month 11' '26' 
'3' 'prkattim' 'prashant' 'P0123' 'Colget challenge'   'Alloc3' 'Allocation for month 10' '24' 
'4' 'prkattim' 'prashant' 'P0124' 'Ramoji Film city challenge' 'Alloc1' 'Allocation for month 10' '120' 

DB flat table view

のように見えます。前もって感謝します。

+1

これまでに何を試しましたか?あなたは苦労しているコードを投稿できますか? –

答えて

1

出力形式はjsonと呼ばれ、Pythonで使用するのは簡単です。 これを行う方法を示す短いサンプルコードを書きました。

import json 

# create json object and give it attributes "rid", "rname", and "proj" which is an array 
data = {} 
data["rid"] = "prkattim" 
data["rname"] = "prashant" 
data["proj"] = [] # in an array you will store other json object 

# you can also use variables to as keys and values 
for i in range(3): 
    proj = {} 
    proj[i] = i*5 
    data["proj"].append(proj) # append json object in json array 


print json.dumps(data, indent=4,sort_keys=True) 
# print and save data 
with open('data.txt', 'w') as outfile: 
    json.dump(data, outfile) 

これで、テーブルをループしてデータのjsonオブジェクトを作成するだけで済みます。

関連する問題