Source code for petab.v2.experiments

"""Functions operating on the PEtab experiments table."""

from pathlib import Path

import pandas as pd

__all__ = ["get_experiment_df", "write_experiment_df"]


[docs] def get_experiment_df( experiments_file: str | pd.DataFrame | Path | None, ) -> pd.DataFrame | None: """ Read the provided experiments file into a ``pandas.Dataframe``. Arguments: experiments_file: Name of the file to read from or pandas.Dataframe. Returns: Experiments DataFrame """ if isinstance(experiments_file, str | Path): experiments_file = pd.read_csv( experiments_file, sep="\t", float_precision="round_trip" ) return experiments_file
[docs] def write_experiment_df(df: pd.DataFrame, filename: str | Path) -> None: """Write PEtab experiments table Arguments: df: PEtab experiments table filename: Destination file name. The parent directory will be created if necessary. """ df = get_experiment_df(df) Path(filename).parent.mkdir(parents=True, exist_ok=True) df.to_csv(filename, sep="\t", index=False)