大仓调拨到货异常

import pandas as pd

# 计算中心仓调拨出库到货差异
bj = pd.read_excel('G:/2月调拨对账/1.xlsx', index_col=False)
sh = pd.read_excel('G:/2月调拨对账/2.xlsx', index_col=False)
cd = pd.read_excel('G:/2月调拨对账/3.xlsx', index_col=False)
sz = pd.read_excel('G:/2月调拨对账/4.xlsx', index_col=False)

data = pd.concat([bj, sh, cd, sz], axis=0, ignore_index=0)
# data.to_excel('G:/2月调拨对账/sum.xlsx',index=0)
data1 = data[~ (data['状态'].isin(['作废', '等待验收']))].drop(
    ['战团', '战营', '采购母单编号', '品类', '实际到货货值', '多到数量', '少到数量', '创建时间', '预计到货时间', '开始验收时间', '提交验收报告时间', '审核通过时间', '开始上架时间',
     '上架完成时间', '创建人', '是否采购补货'], axis=1)

# 存在一单多SP码 确定发货数量
so = data1[data1['创建顺位'] == 1].groupby(by=['调拨单来源', '仓库', '关联单号', 'sp码', '标品名称']).agg({'应到商品数量': 'sum'}).reset_index()


# 确认到货数量
asn = data1.groupby(by=['调拨单来源', '仓库', '关联单号', 'sp码', '标品名称']).agg(
    {'预计到货货值': 'min', '实际送达商品数量': 'sum', '破损数量': 'sum'}).reset_index()

data = so.merge(asn, on=['调拨单来源', '仓库', '关联单号', 'sp码', '标品名称'], validate='1:m')
data.to_excel('G:/2月调拨对账/xujingfei.xlsx', index=0)



posted @ 2022-03-08 11:22  烦恼1234  阅读(35)  评论(0编辑  收藏  举报