analyze_production_data.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. """Generate field profiles, quality assessments, and QA context for production data."""
  2. from __future__ import annotations
  3. import argparse
  4. import sys
  5. from pathlib import Path
  6. from step1_data_aggregation.data_analysis import analyze_production_data_from_env
  7. ROOT = Path(__file__).resolve().parents[1]
  8. def main() -> None:
  9. if hasattr(sys.stdout, "reconfigure"):
  10. sys.stdout.reconfigure(encoding="utf-8")
  11. parser = argparse.ArgumentParser(description="为 production Excel 生成字段分析、质量评估和 QA 上下文")
  12. parser.add_argument("--templates", type=Path, help="metadata directory (overrides METADATA_TEMPLATE_DIR)")
  13. parser.add_argument("--production", type=Path, default=ROOT / "data" / "production")
  14. parser.add_argument("--output", type=Path, default=ROOT / "data" / "production" / "analysis")
  15. args = parser.parse_args()
  16. results = analyze_production_data_from_env(
  17. dotenv_path=ROOT / ".env",
  18. template_dir=args.templates,
  19. production_dir=args.production,
  20. analysis_dir=args.output,
  21. )
  22. print("已生成生产数据字段分析与质量评估:")
  23. for result in results:
  24. print(
  25. f"- {result.template}: {result.row_count} 行, {result.field_count} 字段, "
  26. f"质量分 {result.quality_score:g} -> {result.report_file}"
  27. )
  28. if __name__ == "__main__":
  29. main()