diff --git a/src/metrics_engine.py b/src/metrics_engine.py index 02769b0..c332f0c 100644 --- a/src/metrics_engine.py +++ b/src/metrics_engine.py @@ -9,6 +9,7 @@ flere kandidatnavn før vi gir opp og returnerer None for en metrikk. """ +import io from dataclasses import dataclass, asdict import pandas as pd @@ -83,8 +84,15 @@ def compute_metrics(raw_data: dict) -> CompanyMetrics: info = raw_data.get("info", {}) or {} try: - financials = pd.read_json(raw_data["financials"]) - balance_sheet = pd.read_json(raw_data["balance_sheet"]) + # pd.read_json vil etter hvert slutte å godta en ren tekststreng + # direkte (den tror da vi mener et filnavn). io.StringIO pakker + # teksten inn slik at pandas skjønner at det er innhold, ikke en + # filsti, og slipper advarselen om dette. + financials_text = io.StringIO(raw_data["financials"]) + balance_sheet_text = io.StringIO(raw_data["balance_sheet"]) + + financials = pd.read_json(financials_text) + balance_sheet = pd.read_json(balance_sheet_text) except Exception: financials = pd.DataFrame() balance_sheet = pd.DataFrame()