从excel读取列并解析为字典键值python

从excel读取列并解析为字典键值python,python,dictionary,delimiter,Python,Dictionary,Delimiter,我在excel中有一列,如下所示: [0,[20,40,60],1,0] 我已经通过xlrd读取了它,并将其作为字符串传递 mycol=str(data[rownum][1]); 但是,我想用逗号分隔每个项,并将其解析为字典键值,例如 dict= {'Item1': '0', 'Item2': '[20,40,60]', 'Item3':'1', 'Item4': '0'} 步骤1: >>> ast.literal_eval('[0,[20,40,60],1,0]') [

我在excel中有一列,如下所示:

[0,[20,40,60],1,0]
我已经通过xlrd读取了它,并将其作为字符串传递

mycol=str(data[rownum][1]);
但是,我想用逗号分隔每个项,并将其解析为字典键值,例如

dict= {'Item1': '0', 'Item2': '[20,40,60]', 'Item3':'1', 'Item4': '0'}
步骤1:

>>> ast.literal_eval('[0,[20,40,60],1,0]')
[0, [20, 40, 60], 1, 0]

扩展伊格纳西奥·巴斯克斯·艾布拉姆斯给出的答案

In [61]: import ast

In [62]: l  = ast.literal_eval('[0,[20,40,60],1,0]')

In [63]: l
Out[63]: [0, [20, 40, 60], 1, 0]

In [64]: d = dict([("Item%s"%x, y) for x, y in enumerate(l, 1)])

In [65]: d
Out[65]: {'Item1': 0, 'Item2': [20, 40, 60], 'Item3': 1, 'Item4': 0}
以防在键中而不是项中有正确的值*

In [77]: l2 = ['Apple ', 'Orange', 'Banana', 'Grape']

In [78]: d = dict(zip(l2, l))

In [79]: d
Out[79]: {'Apple ': 0, 'Banana': 1, 'Grape': 0, 'Orange': [20, 40, 60]}

谢谢你们的帮助。但我意识到如果不是第1、2和3项会怎样。它是{苹果:0,橙色:[20,40,60],柠檬:1,葡萄:0}?供您参考,我手动设置了另一个元组,例如head=('Apple'、'Orange'、'Lemon'、'Grapes')@user1360367:有帮助吗?如果有,请回答