Python 将二维数组转换为嵌套命令

Python 将二维数组转换为嵌套命令,python,arrays,dictionary,openpyxl,Python,Arrays,Dictionary,Openpyxl,我正在使用openpyxl读取和写入xlsx文件,出于某些数据处理目的,我需要将我的工作表(在2D矩阵中表示)转换为一个遵循特定格式的字典,这是我的矩阵 [['Name', 'Age', 'Gender', 'Height', 'Hair Color'], ['Jay', '12', 'M', '123cm', 'Black'], ['Marie', '13', 'F', '100cm', 'Red'], ['Dan', '16', 'M', '200cm', 'Brown'] ] 我想

我正在使用openpyxl读取和写入xlsx文件,出于某些数据处理目的,我需要将我的工作表(在2D矩阵中表示)转换为一个遵循特定格式的字典,这是我的矩阵

[['Name', 'Age', 'Gender', 'Height', 'Hair Color'],
 ['Jay', '12', 'M', '123cm', 'Black'],
 ['Marie', '13', 'F', '100cm', 'Red'],
 ['Dan', '16', 'M', '200cm', 'Brown']
]
我想对其进行翻译,以便生成的字典如下所示:

{

{ 'Jay;12;M' : 'Name': 'Jay', 'Age': '12', 'Gender': 'M', 'Height': '123cm', 'Hair Color' : 'Black'}, 

{ 'Marie;13;F' : 'Name': 'Marie', 'Age': '13', 'Gender': 'F', 'Height': '100cm', 'Hair Color' : 'Red'},

{ 'Dan;16;M' : 'Name': 'Dan', 'Age': '16', 'Gender': 'M', 'Height': '200cm', 'Hair Color' : 'Brown'},

}

我对Python比较陌生,我相信字典理解是最好的方法,但我不确定如何按名称获取这些2D数组值,以便正确构建键值对

假设您需要此格式:

{';。
因此上面应该有:
reduce(lambda x,y:'{0};{1}'。格式(x,y),l[j][:3])

此外,使用可以使内部词典的创建更加优雅:

r = {reduce(lambda x, y : '{0};{1}'.format(x,y), l[j][:3]):{t[0]: t[1] for t in zip(k, l[j])} for j in range(1, len(l))}

2D数组没有名称,您需要通过提供数字索引值来选择所需数组及其所需元素来寻址内容。您可以在循环内执行类似以下操作:
my_dict[my_array[0][y]=my_array[x][y]
。另外,仅供参考,在字典中键入。应该看起来像
'Jay;12;M':{'Name':'Jay','Age':'12'…
etc这肯定有效,但它给了我一个包含所有值的键,我只需要字典中3个特定值的键,所以我会稍微调整一下以使其工作,谢谢。
r = {reduce(lambda x, y : '{0};{1}'.format(x,y), l[j][:3]):{t[0]: t[1] for t in zip(k, l[j])} for j in range(1, len(l))}