Source code for psykoda.io.internal

"""IO-related internally used utilities."""

import logging

import pandas

logger = logging.getLogger(__name__)


[docs]def load_csv_optional_zip(base_file_name: str, **read_csv_kwargs) -> pandas.DataFrame: """Load base_file_name.csv.zip if exists; base_file_name.csv otherwise Parameters ---------- base_file_name file name without extension. read_csv_kwargs kwargs passed to pandas.read_csv """ logger.info(base_file_name) try: return pandas.read_csv(base_file_name + ".csv.zip", **read_csv_kwargs) except FileNotFoundError: pass return pandas.read_csv(base_file_name + ".csv", **read_csv_kwargs)