"""Generate field profiles, quality assessments, and QA context for production data.""" from __future__ import annotations import argparse import sys from pathlib import Path from step1_data_aggregation.data_analysis import analyze_production_data_from_env ROOT = Path(__file__).resolve().parents[1] def main() -> None: if hasattr(sys.stdout, "reconfigure"): sys.stdout.reconfigure(encoding="utf-8") parser = argparse.ArgumentParser(description="为 production Excel 生成字段分析、质量评估和 QA 上下文") parser.add_argument("--templates", type=Path, help="metadata directory (overrides METADATA_TEMPLATE_DIR)") parser.add_argument("--production", type=Path, default=ROOT / "data" / "production") parser.add_argument("--output", type=Path, default=ROOT / "data" / "production" / "analysis") args = parser.parse_args() results = analyze_production_data_from_env( dotenv_path=ROOT / ".env", template_dir=args.templates, production_dir=args.production, analysis_dir=args.output, ) print("已生成生产数据字段分析与质量评估:") for result in results: print( f"- {result.template}: {result.row_count} 行, {result.field_count} 字段, " f"质量分 {result.quality_score:g} -> {result.report_file}" ) if __name__ == "__main__": main()