fix(yunda): invert handover number filter to keep empty rows
The previous filter kept rows with non-empty handover numbers (派件/签收 scans), which were duplicate rows. The correct logic is to keep rows with empty handover numbers (到/接件 scans). - store.py: change != "" to == "" in ingest filter - compare.py: add same filter before comparison (previously missing) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -75,6 +75,12 @@ def process(name):
|
||||
df_exp = pd.read_excel(exp_path, dtype=str).fillna("")
|
||||
df_act = pd.read_excel(act_path, dtype=str).fillna("")
|
||||
|
||||
if name == "韵达":
|
||||
# 韵达实到数据有重复行(同子单号出现两次),保留交接单号为空的(到/接件扫描),
|
||||
# 丢弃交接单号不为空的(派件/签收等),再按子单号去重。
|
||||
df_act = df_act[df_act["交接单号"].astype(str).str.strip() == ""]
|
||||
df_act = df_act.drop_duplicates(subset=["子单号"], keep="last")
|
||||
|
||||
# 同一运单可能有多条交接记录,按运单号去重、保留首条
|
||||
dup = int(df_exp[cfg["exp_wb"]].duplicated().sum())
|
||||
df_exp = df_exp.drop_duplicates(subset=[cfg["exp_wb"]], keep="first")
|
||||
|
||||
Reference in New Issue
Block a user