我正在尝试获取7个MySQL查询的输出并将它们合并到特定字段(第一个,ID)。
我的第一个初步想法是将七个查询的结果放入字典中,第一个字段为KEY,其余为VALUES。
returnDict = dict([(k[0], k[1:]) for k in output])
一旦我将七个查询的结果输入到他们自己的Dicts中,我可以通过执行以下操作将它们组合成一个字典:
for d in (firstDict, secondDict, thirdDict, fourthDict, fifthDict, sixthDict, seventhDict):
for key, value in d.iteritems():
dd[key].append(value)
现在,我遇到的唯一问题是,当上面的代码将字典组合在一起时,它就不会分开"分开"原始词典,它只会附加它们,从而创建一个相当混乱的字典。
这就是它的样子:
6: ('blah.net', datetime.datetime(2011, 6, 23, 0, 0), 4L, 1L, datetime.datetime(2011, 6, 23, 0, 0)), ('Foo', 1L), ('Unknown Foo', 2L), (datetime.datetime(2013, 11, 14, 12, 30, 24), 'ORIGINAL CATEGORY 3')
这就是我想要的样子:
6: 'blah.net', datetime.datetime(2011, 6, 23, 0, 0), 4L, 1L, datetime.datetime(2011, 6, 23, 0, 0), 'Foo', 1L, 'Unknown Foo', 2L, datetime.datetime(2013, 11, 14, 12, 30, 24), 'ORIGINAL CATEGORY 3'
答案 0 :(得分:0)
最简单的解决方案是在数据库端使用联合查询。
如果您想在Python中执行此操作,我会执行类似
的操作from collections import defaultdict
dd = defaultdict(list)
for d in (firstDict, secondDict, ...):
for key, value in d.items():
dd[key].append(value)