from typing import Iterable, Sequence import csv from pathlib import Path def export_rows_to_csv(path: str | Path, headers: Sequence[str], rows: Iterable[Sequence]) -> int: """Export rows to a CSV file. Args: path: destination file path (string or Path) headers: list/sequence of header strings rows: iterable of row sequences (each row is a sequence of values) Returns: int: number of rows written (excluding header) """ p = Path(path) written = 0 with p.open("w", newline="", encoding="utf-8") as fh: writer = csv.writer(fh) writer.writerow(list(headers)) for row in rows: writer.writerow(list(row)) written += 1 return written