Update DSP data through August 30

This commit is contained in:
zouyun
2026-08-31 15:38:02 +08:00
parent 08d8341eb2
commit 2594e3e844
2 changed files with 11 additions and 2 deletions
+10 -1
View File
@@ -30,7 +30,9 @@ import csv
import datetime as dt
import io
import json
import os
import pathlib
import re
import sys
source_path = pathlib.Path(sys.argv[1])
@@ -72,7 +74,9 @@ def number(value):
campaign_daily_map = {}
for row in reader:
pkg = pick(row, "维度1", "pkg", "Pkg").strip()
adping_id = pick(row, "维度2", "adping_id", "adpingid").strip()
raw_adping_id = pick(row, "维度2", "adping_id", "adpingid").strip()
match = re.match(r"^(\d+)", raw_adping_id)
adping_id = match.group(1) if match else raw_adping_id
campaign = campaign_by_key.get((pkg, adping_id))
if not campaign:
continue
@@ -105,6 +109,11 @@ def metrics(item):
return item
campaign_daily = [metrics(v) for _, v in sorted(campaign_daily_map.items())]
if os.environ.get("MERGE_EXISTING") == "1" and output_path.exists():
existing = json.loads(output_path.read_text(encoding="utf-8"))
merged = {(r["date"], r["pkg"], r["adping_id"]): r for r in existing.get("campaign_daily", [])}
merged.update({(r["date"], r["pkg"], r["adping_id"]): r for r in campaign_daily})
campaign_daily = [r for _, r in sorted(merged.items())]
daily_map = {}
for row in campaign_daily:
key = (row["date"], row["pkg"])