ai_member_xiaoxi/scripts/welfare_merge.py
2026-05-20 08:00:01 +08:00

50 lines
1.4 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
"""第二步:查询 parent_address 并合并生成最终 Excel"""
import csv
import os
import sys
# 配置
DB_WELFARE_OUTPUT = '/root/.openclaw/workspace/output/welfare_step1_result.txt'
FINAL_OUTPUT = '/root/.openclaw/workspace/output/福利品用户名单.xlsx'
# 读取第一步结果
orders = []
with open(DB_WELFARE_OUTPUT, 'r') as f:
reader = csv.DictReader(f)
for row in reader:
orders.append(row)
print(f"读取订单数: {len(orders)}")
# 获取所有 account_id
account_ids = sorted(set(row['用户ID'] for row in orders))
print(f"唯一用户数: {len(account_ids)}")
# 情况分布统计
from collections import Counter
case_dist = Counter(row['来源情况'] for row in orders)
print("\n=== 情况分布(按订单行数)===")
for k, v in case_dist.most_common():
print(f" {k}: {v}")
# 检查重复 trade_no
trade_nos = [row['交易号'] for row in orders]
trade_dup = [t for t, c in Counter(trade_nos).items() if c > 1]
if trade_dup:
print(f"\n⚠️ 重复 trade_no: {trade_dup}")
else:
print("\n✅ 无重复 trade_no")
# 生成 account_id 列表用于第二步查询
ids_str = ','.join(account_ids)
print(f"\n准备查询 parent_address{len(account_ids)} 个用户")
print(f"account_id 列表已保存")
# 保存 account_ids 供 psql 使用
with open('/root/.openclaw/workspace/output/welfare_account_ids.txt', 'w') as f:
for aid in account_ids:
f.write(f"{aid}\n")
print("Done.")