|
发表于 2020-4-18 13:17:11
|
显示全部楼层
- data=[
- ('ZZ0002911', 'F3L50R06W1E3_B11', '北京仓库', 0, 0, 19, 200000),
- ('ZZ0002911', 'F3L50R06W1E3_B11', '深圳仓库', 0, 0, 2808, 400000),
- ('ZZ0002911', 'F3L50R06W1E3_B11', '香港_A仓', 0, 0, 0, 0),
- ('ZZ0002913', 'F3L80R12W1H3_B11', '北京仓库', 0, 0, 13, 5000),
- ('ZZ0002913', 'F3L80R12W1H3_B11', '深圳仓库', 0, 0, 0, 0),
- ('ZZ0002913', 'F3L80R12W1H3_B11', '香港_A仓', 0, 0, 0, 0)
- ]
- warehouse=['北京仓库','深圳仓库','香港_A仓','在途']
- data1={}
- newdata=[]
- #原始数据:编号,型号,仓库,订单数量,在途数量,库存数量,库存金额
- #新表数据:编号,型号,北京仓库,深圳仓库,香港_A仓,在途数量,订单数量,金额
- for i in data:
- newdata=[0,0,0,0,0,0] #北京仓库,深圳仓库,香港_A仓,在途数量,订单数量,金额
- newdata[warehouse.index(i[2])]=i[5] #根据在warehouse中的序号来决定新表中的序号,将库存数量分配到对应仓库下
- newdata[3]=i[4] #在途数量
- newdata[4]=i[3] #订单数量
- newdata[5]=i[6] #金额
- if (i[0],i[1]) not in data1:
- data1[(i[0],i[1])]=newdata
- else:
- for j in range(len(newdata)):
- data1[(i[0],i[1])][j]+=newdata[j]
- finaldata=[]
- for k,l in data1.items():
- k=list(k)
- k.extend(l)
- finaldata.append(k)
复制代码
|
|