← back to Cslb Call List

scripts/split.py

16 lines

import csv
IN="out/cslb_call_list_CA.csv"
labels={"C9":"drywall_C9","C54":"tile_C54","WALLCOVER":"wallcovering_specialists",
        "C33":"painting_decorating_C33","D06":"legacy_D06"}
buf={k:[] for k in labels}
with open(IN,newline='',encoding='utf-8') as fh:
    r=csv.DictReader(fh); cols=r.fieldnames
    for row in r:
        for b in row['matched_buckets'].split('|'):
            if b in buf: buf[b].append(row)
for b,fn in labels.items():
    p=f"out/cslb_{fn}_CA.csv"
    with open(p,'w',newline='',encoding='utf-8') as fh:
        w=csv.DictWriter(fh,fieldnames=cols); w.writeheader(); w.writerows(buf[b])
    print(f"  {p}: {len(buf[b])} rows")