Spaces:
Running on Zero
Running on Zero
File size: 1,045 Bytes
127b976 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | from __future__ import annotations
import argparse
from pathlib import Path
import pandas as pd
def main():
p = argparse.ArgumentParser(description="Split one metadata file into train/val/test CSV files using the split column.")
p.add_argument("--metadata", required=True)
p.add_argument("--out-dir", default="data/metadata")
args = p.parse_args()
df = pd.read_csv(args.metadata)
if "split" not in df.columns:
raise ValueError("Input metadata must contain a 'split' column.")
out_dir = Path(args.out_dir)
out_dir.mkdir(parents=True, exist_ok=True)
for split in ["train", "val", "dev", "test", "eval"]:
part = df[df["split"].astype(str).str.lower() == split]
if len(part) == 0:
continue
name = "val" if split == "dev" else "test" if split == "eval" else split
out = out_dir / f"{name}.csv"
part.to_csv(out, index=False)
print(f"Saved {len(part)} rows to {out}")
if __name__ == "__main__":
main()
|