二维字典是字典中套着字典的数据结构,即字典的键值对应的元素也是字典。如下代码中d字典的结构就是我指的二维字典
直接上代码:
import pandas as pd
#双重字典转excel方法
def dict_to_excel(dict):
#dict转二维列表,将字典dict的行列保存
row = dict.keys()#取第一维键值
col = list(dict.values())[0].keys()#取第二维键值,由于第二维的键值都一样,取第一组即可
excel = [list(dict[u].values()) for u in dict]
#将第一维每个键值对应的第二维的values分别取出插入excel,即[[0,1] [1,0]]
print(excel)
#利用到pandas库中的DataFrame类,建议去查官方文档,或者按住CTRL点击DataFrame查看数据结构即可
df = pd.DataFrame(data=excel,index=row,columns=col)
print(df)
#官方文档的ExcelWriter识别不了,用pandas库的即可
with pd.ExcelWriter('excel路径') as writer:
df.to_excel(writer)
d = {'u1':{'c1':0,'c2':1},'u2':{'c1':1,'c2':0}}
dict_to_excel(d)
执行的前提:
第一次执行遇到openpyxl not found的问题,pip安装即可
pip install openpyxl
这里excel表可以不用自己创建,给出一个 路径 + 文件名.后缀 即可
运行结果