| | |
| | from __future__ import annotations |
| |
|
| | import argparse |
| | import sys |
| | from pathlib import Path |
| |
|
| | ROOT = Path(__file__).resolve().parents[1] |
| | SRC = ROOT / "src" |
| | if str(SRC) not in sys.path: |
| | sys.path.insert(0, str(SRC)) |
| |
|
| | from dce_analyzer.apollo import APOLLO_DATASETS, load_apollo_long |
| |
|
| |
|
| | def parse_args() -> argparse.Namespace: |
| | parser = argparse.ArgumentParser( |
| | description="Download Apollo example data and convert to long format." |
| | ) |
| | parser.add_argument( |
| | "--dataset", |
| | choices=sorted(APOLLO_DATASETS.keys()), |
| | default="swiss_route_choice", |
| | ) |
| | parser.add_argument( |
| | "--raw-out", |
| | type=Path, |
| | default=None, |
| | help="Optional raw CSV output path.", |
| | ) |
| | parser.add_argument( |
| | "--long-out", |
| | type=Path, |
| | default=None, |
| | help="Optional long CSV output path.", |
| | ) |
| | return parser.parse_args() |
| |
|
| |
|
| | def default_outputs(dataset: str) -> tuple[Path, Path]: |
| | raw = Path(f"data/raw/apollo_{dataset}.csv") |
| | long = Path(f"data/processed/apollo_{dataset}_long.csv") |
| | return raw, long |
| |
|
| |
|
| | def main() -> None: |
| | args = parse_args() |
| | raw_default, long_default = default_outputs(args.dataset) |
| | raw_out = args.raw_out or raw_default |
| | long_out = args.long_out or long_default |
| |
|
| | long_df = load_apollo_long( |
| | dataset=args.dataset, |
| | raw_output_path=raw_out, |
| | long_output_path=long_out, |
| | ) |
| | print(f"Dataset: {args.dataset}") |
| | print(f"Saved raw Apollo file: {raw_out}") |
| | print(f"Saved long-format file: {long_out}") |
| | print(f"Long-format shape: {long_df.shape}") |
| | print("Columns:") |
| | print(", ".join(long_df.columns)) |
| |
|
| |
|
| | if __name__ == "__main__": |
| | main() |
| |
|