Przeglądaj źródła

feat(渠道效果分析): 导出多个CSV方便查看

- 渠道整体.csv
- 渠道品类矩阵.csv
- 渠道品类明细.csv
- 渠道二级品类.csv
- 每日趋势.csv

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
yangxiaohui 2 miesięcy temu
rodzic
commit
5c861eebb8
1 zmienionych plików z 42 dodań i 1 usunięć
  1. 42 1
      tasks/渠道效果分析/analyze.py

+ 42 - 1
tasks/渠道效果分析/analyze.py

@@ -238,8 +238,49 @@ log(f"渠道数: {df['channel'].nunique()}")
 log(f"品类数: {df['merge一级品类'].nunique()}")
 log()
 
-# 保存
+# 保存 TXT
 result_file = output_dir / f"{latest_file.stem}_分析.txt"
 with open(result_file, 'w', encoding='utf-8') as f:
     f.write("\n".join(lines))
 log(f"结果已保存: {result_file}")
+
+# ============================================================
+# 导出多个 CSV
+# ============================================================
+log()
+log("=" * 80)
+log("导出 CSV 文件")
+log("=" * 80)
+
+# 1. 渠道整体表现
+channel_csv = channel_stats[['channel', '点击uv', '进入推荐率', '再分享回流率', '原视频再分享回流率', '推荐再分享回流率']].copy()
+channel_csv.columns = ['渠道', '点击UV', '进入推荐率', '再分享回流率', '原视频回流率', '推荐回流率']
+channel_csv.to_csv(output_dir / f"{latest_file.stem}_渠道整体.csv", index=False, encoding='utf-8-sig')
+log(f"  渠道整体表现: {latest_file.stem}_渠道整体.csv")
+
+# 2. 渠道×一级品类矩阵
+pivot_ror_csv = pivot_ror.copy()
+pivot_ror_csv.index.name = '一级品类'
+pivot_ror_csv.to_csv(output_dir / f"{latest_file.stem}_渠道品类矩阵.csv", encoding='utf-8-sig')
+log(f"  渠道×品类矩阵: {latest_file.stem}_渠道品类矩阵.csv")
+
+# 3. 渠道×品类明细
+channel_category_csv = channel_category.copy()
+channel_category_csv.columns = ['渠道', '一级品类', '点击UV', '回流率']
+channel_category_csv = channel_category_csv.sort_values(['渠道', '点击UV'], ascending=[True, False])
+channel_category_csv.to_csv(output_dir / f"{latest_file.stem}_渠道品类明细.csv", index=False, encoding='utf-8-sig')
+log(f"  渠道×品类明细: {latest_file.stem}_渠道品类明细.csv")
+
+# 4. 渠道×二级品类 Top
+if 'merge二级品类' in df.columns:
+    cat2_csv = channel_cat2[channel_cat2['点击uv'] >= 100].copy()
+    cat2_csv.columns = ['渠道', '一级品类', '二级品类', '点击UV', '回流率']
+    cat2_csv = cat2_csv.sort_values('回流率', ascending=False)
+    cat2_csv.to_csv(output_dir / f"{latest_file.stem}_渠道二级品类.csv", index=False, encoding='utf-8-sig')
+    log(f"  渠道×二级品类: {latest_file.stem}_渠道二级品类.csv")
+
+# 5. 每日趋势
+daily_csv = daily_channel.copy()
+daily_csv.columns = ['日期', '渠道', '点击UV', '回流率']
+daily_csv.to_csv(output_dir / f"{latest_file.stem}_每日趋势.csv", index=False, encoding='utf-8-sig')
+log(f"  每日趋势: {latest_file.stem}_每日趋势.csv")