我正在尝试使用以下结构获取python字典:
>>>my_dict
>>>(i1,j1):{c1:1,c2:3,c3:4},(i2,j2):{c1:1,c2:1,c3:1}...
我想要做的是将键(i,j)和r1,r2,r3.rn放在矩阵或某种用于可视化的表中。所以表格表示如下所示。
c1 c2 c3 ...rN
i1,j1 1 3 4
i2,j2 1 1 1
iN,jN
基本上我希望我的主键在列上的行和键值(这是另一个字典)上。然后轻松将键映射到列和行值。
我非常具体,这只是一个例子。我真的很困惑我正在寻找什么。我必须多次这样做,他们是一个简单的方法来将字典映射到这样的表格吗?我应该找一些模块吗?
提前致谢, Ĵ
答案 0 :(得分:2)
dic={('i1','j1'):{'c1':1,'c2':3,'c3':4},('i2','j2'):{'c1':1,'c2':1,'c3':1}}
header=list(max(dic.values()))
print '\t',
print " ".join(sorted(header))
for x in dic:
print ",".join(x)+'\t',
for y in sorted(dic[x]):
print str(dic[x][y])+" ",
print
<强>输出:强>
c1 c2 c3
i1,j1 1 3 4
i2,j2 1 1 1
将此内容写入文件,请尝试以下操作:
with open('data.txt','w') as f:
dic={('i1','j1'):{'c1':1,'c2':3,'c3':4},('i2','j2'):{'c1':1,'c2':1,'c3':1}}
header=list(max(dic.values()))
f.write('\t')
f.write(" ".join(sorted(header))+'\n')
for x in dic:
f.write(",".join(x)+'\t')
for y in sorted(dic[x]):
f.write(str(dic[x][y])+" ")
f.write('\n')
答案 1 :(得分:1)
{
'primary_key1': [{key: data},{key: data},{key: data},{key: data},{key: data},{key: data}]},
'primary_key2': [{key: data},{key: data},{key: data},{key: data},{key: data},{key: data}]}
...
'primary_keyN': [{key: data},{key: data},{key: data},{key: data},{key: data},{key: data}]}
}
所以现在你可以使用PK将它们取回来,如果你有一个键,你可以将它们存储在dict中,并带有重复的键,如:
'primary_key1': [{key: data},{key: data},{key: data},{key: data},{key: data},{key: data}]
或者如果你总是使用唯一的值键来进行嵌套:
'primary_key1': {key: data, key: data, key: data},
或其他只有数据:
'primary_key1': [data, data, data],
希望这会对你有所帮助。