からネストされた辞書を作成
file1.csv:は、私は2つのcsvファイルを持つ2つのCSVファイル
ID,map1,map2
a,x1,x2
b,y1,
c,z1,z2
file2.csv:
ID,map1Val1,map1Val2,map2Val1
a,a1,a2,l1
b,b1,b2,
c,c1,c2,n1
は、私は、出力は次のようになりたい:
{'ID': {'map1':['map1Val1','map1Val2'], 'map2':'map2Val1'},'a': {'x1':['a1','a2'], 'x2':'l1'},'b': {'y1':['b1','b2']},'c': {'z1':['c1','c2'], 'z2':'n1'},}
私はこれを作成する方法を考えることはできません。これまでのところ私は1つのCSVファイルから辞書を作成するだけで、コードを持っている:
import csv
new_data_dict = {}
with open("file1.csv", 'r') as map_file:
mapping = csv.DictReader(map_file, delimiter=",")
for row in mapping:
new_data_dict= {row[0]:{row[1],row[2]}}
print new_data_dict
は出力:
{"ID":{map1,map2}, "a":{x1,x2}, "b":{y1}, "a":{z1,z2}}
おかげからのもので
file1
から列ヘッダーを比較することによって、その場でcolumn_map
を作成することができます。私は@ waterboy5281の答えがより好きです。なぜなら、よりダイナミックなのでです。 –