我有一个字典,每个键都有多个值。 解析日志文件后会生成此字典。
([('RUNID', ['11098782', '11098782']), ('Test', ['OMP', 'AMP']), ('SubType', ['LU', 'BU']), ('Class', ['C', 'A']), ('Size', ['162', '64']), ('Iterations', ['250', '250']), ('Time', ['839.76', '44.30'])])
键的数量是相同的,但是与每个键有关的值可能change(In the example above it is 2 and can be even more)
我已经在MySQL中创建了一个表,其中Columns为我的Keys(Runid,Test,Subtype,Class,Size,Iterations,Time)
字典。现在我想在数据库中的单行中插入与每个键对应的键values(11098782,OMP,LU,C,162,250,839.96)
。与具有不同values(1109872,AMP,BU,A,64,250,44.30)
的下一行相同。任何帮助都表示赞赏。谢谢!
答案 0 :(得分:1)
您可以将列表转换为dict
。
然后zip
dict的值以获得所需结果的列表。
注意:您应该修复sql
,按照values
的相应顺序制作keys
。
>>> b = ([('RUNID', ['11098782', '11098782']), ('Test', ['OMP', 'AMP']), ('SubType', ['LU', 'BU']), ('Class', ['C', 'A']), ('Size', ['162', '64']), ('Iterations', ['250', '250']), ('Time', ['839.76', '44.30'])])
>>> b = dict(b)
>>> zip(*b.values())
[('LU', '11098782', '250', '839.76', 'OMP', 'C', '162'), ('BU', '11098782', '250', '44.30', 'AMP', 'A', '64')]
>>> b.keys()
['SubType', 'RUNID', 'Iterations', 'Time', 'Test', 'Class', 'Size'] # order matters