输入:我有包含 3 列的 Excel 文件,Excel 文件的格式如下:
A C D
A C E
A F G
B H J
B H K
A F I
B L M
B L N
A F O
我希望根据上面的输入以以下格式制作字典:
输出:
dictionary= {'A':{'C':['D','E'],'F':['G','I','O']},'B':{'H':['J','K'],'L':['M','N']}}
逻辑:对于每个不同的第 1 列值,需要创建嵌套字典,并且在该嵌套部分中,对于每个不同的第 2 列值,需要创建相应的第 3 列值的列表。
你可以用 pandas 这样做:
import pandas as pd
df = pd.read_excel('excel_file', header=None)
d = {}
for b in df.groupby([0,1])[2].apply(list).to_frame().iterrows():
if b[0][0] not in d:
d[b[0][0]] = {b[0][1]: b[1].tolist()[0]}
else:
d[b[0][0]][b[0][1]] = b[1].tolist()[0]
print d
Output:
{'A': {'C': ['D', 'E'], 'F': ['G', 'I', 'O']}, 'B': {'H': ['J', 'K'], 'L': ['M', 'N']}}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)