mirror of
https://github.com/pim-n/pg-rad
synced 2026-02-02 14:33:09 +01:00
Add path generation functionality.
This commit is contained in:
26
src/pg_rad/dataloader.py
Normal file
26
src/pg_rad/dataloader.py
Normal file
@ -0,0 +1,26 @@
|
||||
import pandas as pd
|
||||
|
||||
from pg_rad.logger import setup_logger
|
||||
from pg_rad.exceptions import DataLoadError, InvalidCSVError
|
||||
|
||||
logger = setup_logger(__name__)
|
||||
|
||||
def load_data(filename: str) -> pd.DataFrame:
|
||||
logger.debug(f"Attempting to load data from {filename}")
|
||||
|
||||
try:
|
||||
df = pd.read_csv(filename, delimiter=',')
|
||||
|
||||
except FileNotFoundError as e:
|
||||
logger.error(f"File not found: {filename}")
|
||||
raise DataLoadError(f"File does not exist: {filename}") from e
|
||||
|
||||
except pd.errors.ParserError as e:
|
||||
logger.error(f"Invalid CSV format: {filename}")
|
||||
raise InvalidCSVError(f"Invalid CSV file: {filename}") from e
|
||||
|
||||
except Exception as e:
|
||||
logger.exception(f"Unexpected error while loading {filename}")
|
||||
raise DataLoadError("Unexpected error while loading data") from e
|
||||
|
||||
return df
|
||||
Reference in New Issue
Block a user