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
+1 -1
View File
File diff suppressed because one or more lines are too long
+10 -1
View File
@@ -30,7 +30,9 @@ import csv
import datetime as dt import datetime as dt
import io import io
import json import json
import os
import pathlib import pathlib
import re
import sys import sys
source_path = pathlib.Path(sys.argv[1]) source_path = pathlib.Path(sys.argv[1])
@@ -72,7 +74,9 @@ def number(value):
campaign_daily_map = {} campaign_daily_map = {}
for row in reader: for row in reader:
pkg = pick(row, "维度1", "pkg", "Pkg").strip() 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)) campaign = campaign_by_key.get((pkg, adping_id))
if not campaign: if not campaign:
continue continue
@@ -105,6 +109,11 @@ def metrics(item):
return item return item
campaign_daily = [metrics(v) for _, v in sorted(campaign_daily_map.items())] 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 = {} daily_map = {}
for row in campaign_daily: for row in campaign_daily:
key = (row["date"], row["pkg"]) key = (row["date"], row["pkg"])