Update DSP data through August 30
This commit is contained in:
@@ -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"])
|
||||
|
||||
Reference in New Issue
Block a user