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