以下のような辞書内に辞書があります。
{'ID1':{'sam':1,'maj':5, 'tif':7, 'paul':1},
'ID2':{'maj':4,'bib':5},
...}
これを CSV ファイルに書き込むにはどうすればよいですか? メインキー用の個別の積雲と内部キー用の個別の列が必要です
以下のような辞書内に辞書があります。
{'ID1':{'sam':1,'maj':5, 'tif':7, 'paul':1},
'ID2':{'maj':4,'bib':5},
...}
これを CSV ファイルに書き込むにはどうすればよいですか? メインキー用の個別の積雲と内部キー用の個別の列が必要です
これがあなたを正しい方向に向けることを願っています。IDのソート順に行きたいと仮定します。
>> import csv
>>> d = {'ID1':{'sam':1,'maj':5, 'tif':7, 'paul':1},'ID2':{'maj':4,'bib':5},}
>>> with open('test.csv', 'w') as f:
fieldnames = ('sam', 'maj', 'tif', 'paul', 'bib')
w = csv.DictWriter(f, fieldnames)
for k, row in sorted(d.items()):
w.writerow(row)
>>> with open('test.csv') as f: # showing contents
print f.read()
1,5,7,1,
,4,,,5
これがあなたが探しているものだと思います:
import csv
with open('/home/test/kelvin1/add.csv', 'wb') as csvfile:
kev = csv.writer(csvfile, delimiter=' ',
quotechar='|', quoting=csv.QUOTE_MINIMAL)
k ={'ID1':{'sam':1,'maj':5,'tif':7,'paul':1},'ID2':{'maj':4,'bib':5}}
for i in k:
kev.writerow(i)
for j in k[i]:
kev.writerow(j)
kev.writerow('%d' % (k[i][j]))
このコードは私のために働いています