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)
__EOF__
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)