Source code for glotaran.builtin.io.pandas.tsv

"""Module containing TSV io support."""

from __future__ import annotations

from typing import TYPE_CHECKING

from glotaran.io import ProjectIoInterface
from glotaran.io import load_parameters
from glotaran.io import register_project_io
from glotaran.io import save_parameters

if TYPE_CHECKING:
    from glotaran.parameter import Parameters


[docs] @register_project_io(["tsv"]) class TsvProjectIo(ProjectIoInterface): """Plugin for TSV data io."""
[docs] def load_parameters(self, file_name: str) -> Parameters: """Load parameters from TSV file. Parameters ---------- file_name : str Name of file to be loaded. Returns ------- :class:`Parameters` """ return load_parameters(file_name, format_name="csv", sep="\t")
[docs] def save_parameters( self, parameters: Parameters, file_name: str, *, replace_infinfinity: bool = True, ) -> None: """Save a :class:`Parameters` to a TSV file. Parameters ---------- parameters : Parameters Parameters to be saved to file. file_name : str File to write the parameters to. replace_infinfinity : bool Weather to replace infinity values with empty strings. """ save_parameters( parameters, file_name, format_name="csv", sep="\t", replace_infinfinity=replace_infinfinity, )