From 32bf1cc98de5bb73c753e772e81d0571595dc8fa Mon Sep 17 00:00:00 2001 From: Jun-te Kim Date: Thu, 7 May 2026 16:26:29 +0000 Subject: [PATCH] =?UTF-8?q?load=20historic=20epc=20from=20csv=20?= =?UTF-8?q?=F0=9F=9F=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- datatypes/epc/loaders/historic_epc.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) 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 + ]