From 3ffe5472084bcf11f6a4d69adc6119a95ad269a3 Mon Sep 17 00:00:00 2001 From: Maksim Date: Mon, 8 Sep 2025 15:30:55 +0300 Subject: [PATCH] =?UTF-8?q?get=5Fmonth=5Fby=5Fcode=20=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D0=B0=D0=B5=D1=82=20=D0=BA=D0=BE=D1=80=D1=80=D0=B5?= =?UTF-8?q?=D0=BA=D1=82=D0=BD=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapters/parsers/monitoring_fuel.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/python_parser/adapters/parsers/monitoring_fuel.py b/python_parser/adapters/parsers/monitoring_fuel.py index aa463f7..e13beff 100644 --- a/python_parser/adapters/parsers/monitoring_fuel.py +++ b/python_parser/adapters/parsers/monitoring_fuel.py @@ -100,13 +100,24 @@ class MonitoringFuelParser(ParserPort): # Преобразуем в JSON-совместимый формат result = {} for idx, row in df_month.iterrows(): - result[str(idx)] = {} + # Преобразуем название установки в ID, если это необходимо + if isinstance(idx, str) and not idx.startswith('SNPZ.'): + # Это название установки, нужно преобразовать в ID + object_id = get_object_by_name(idx) + if object_id is None: + # Если не удалось найти ID, используем название как есть + object_id = idx + else: + # Это уже ID или что-то другое + object_id = str(idx) + + result[object_id] = {} for col in df_month.columns: value = row[col] if pd.isna(value) or value == float('inf') or value == float('-inf'): - result[str(idx)][col] = None + result[object_id][col] = None else: - result[str(idx)][col] = float(value) if isinstance(value, (int, float)) else value + result[object_id][col] = float(value) if isinstance(value, (int, float)) else value return result