diff --git a/datatypes/epc/loaders/historic_epc.py b/datatypes/epc/loaders/historic_epc.py index 8555a706..7b563315 100644 --- a/datatypes/epc/loaders/historic_epc.py +++ b/datatypes/epc/loaders/historic_epc.py @@ -1,5 +1,18 @@ +import csv + from datatypes.epc.schema.historic_epc import HistoricEpc +def _normalise(value: str | None) -> str: + if value is None: + return "" + return value.replace("\xa0", " ") + + def read_historic_epc_csv(path: str) -> list[HistoricEpc]: - raise NotImplementedError("read_historic_epc_csv not implemented yet") + with open(path, newline="", encoding="utf-8") as f: + reader = csv.DictReader(f) + return [ + HistoricEpc(**{k.lower(): _normalise(v) for k, v in row.items()}) + for row in reader + ]