excel中有三张表,具体情况如下。
现在想把订单号 摊位ID SKU放入一个表中,如何放?
下面给出python代码
# -*- coding: utf-8 -*-
"""
Created on Thu Dec 3 11:19:52 2020
@author: Administrator
"""
#导入库
import pandas as pd
#导入三张表
A=pd.read_excel("D:\\测试样本3.xlsx",skiprows=1,usecols=[0,1],nrows=4)
B=pd.read_excel("D:\\测试样本3.xlsx",skiprows=1,usecols=[3,4],nrows=4)
C=pd.read_excel("D:\\测试样本3.xlsx",skiprows=1,usecols=[6,7],nrows=7)
A.columns=["订单号","摊位ID"]
B.columns=["订单号","SKU"]
C.columns=["摊位ID","SKU"]
#首先根据表C生成一个字典对象,字典的键是每一个商品,字典的值是包含这个商品的货架构成的集和,也就是这个商品在哪些货架上有
商品和摊位对照字典={}
for i in range(C.shape[0]):
print(i,"-----------------")
摊位=C.iloc[i,0]
商品=C.iloc[i,1]
print("商品:",商品)
print("摊位:",摊位)
print("商品和摊位对照字典",商品和摊位对照字典)
if 商品 in 商品和摊位对照字典:
print("在字典里已出现")
商品和摊位对照字典[商品]=商品和摊位对照字典[商品]|{摊位}
else:
print("第一次出现")
商品和摊位对照字典[商品]={摊位}
print(商品和摊位对照字典)
#根据A表生成一个字典对象,字典的键是每一个订单,字典的值是这个订单包含的摊位构成的集和,也就是这个订单的商品是在哪些摊位上买的
订单和摊位对照字典={}
for i in range(A.shape[0]):
订单=A.iloc[i,0]
摊位=A.iloc[i,1]
print("订单:",订单)
print("摊位:",摊位)
if 订单 in 订单和摊位对照字典:
订单和摊位对照字典[订单]=订单和摊位对照字典[订单]|{摊位}
else:
订单和摊位对照字典[订单]={摊位}
print(订单和摊位对照字典)
#然后以表B基础利用三张表的数据进行整合,整合到B表中
B["摊位"]=pd.Series(dtype="O")
for i in range(B.shape[0]):
print(i,"-----------------")
订单=B.iloc[i,0]
商品=B.iloc[i,1]
print("订单:",订单)
print("商品:",商品)
set1=商品和摊位对照字典[商品]
set2=订单和摊位对照字典[订单]
print("包含这个商品的摊位",set1)
print("这个订单中包含的摊位",set2)
摊位=set1&set2
if len(摊位)==0:
摊位={"没找到" }
B.iloc[i,2]=摊位
结果如下:








暂无数据