pandas 遍历 sheet 以及 行列 excel 问题

目前有一个 excel 有两个 sheet

其中sheet格式如下

A Sheet

编码 商店 姓名
A001 健康店 張三
A002 健康店 張四
A003 健康2店 張五
A004 健康2店 張六

B Sheet

编码 商店 姓名
B001 健康店 張三
B002 健康店 張四
B003 健康2店 張五

想要呈现的结果:
excel 获取拥有 sheet
针对每个 sheet 做商店分组
分组之后根据每个分组商店名称产生 excel 以及 对应的 sheet

想到使用巢状字典来达成, 但遍历之后只会获取最后一次的数据
数据会一直覆盖

df = pd.read_excel('file/test.xlsx', sheet_name=['A', 'B'])

d = {}
df = read()
    for sheetName in df:
        s = df[sheetName].groupby("商店")
        for shopName, values in s:
            x = values.apply(list).to_dict()
            d = {shopName: {}}
            d[shopName][sheetName] = values
print(d)

上面结果如下

{‘健康店’: {‘B’: Data..}

想到达成如下结果

{‘健康店’: {‘A’: Data.. , ‘B’: Data..}}
{‘健康2店’: {‘A’: Data.. , ‘B’: Data..}}

想请教各位一下有什么方法可以不覆盖呢?

Jason990420
最佳答案

Replace

        d = {shopName: {}}

with

        if shopName not in d:
            d[shopName] = {}
3年前 评论
pozxnm123 (楼主) 3年前
讨论数量: 1
Jason990420

Replace

        d = {shopName: {}}

with

        if shopName not in d:
            d[shopName] = {}
3年前 评论
pozxnm123 (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!