get_series_by_id_and_columns функционален

This commit is contained in:
2025-09-08 15:21:52 +03:00
parent 8ee1c816e2
commit 9f9adce4f3
2 changed files with 13 additions and 15 deletions

View File

@@ -6,7 +6,7 @@ from typing import Dict, Tuple
from core.ports import ParserPort
from core.schema_utils import register_getter_from_schema, validate_params_with_schema
from app.schemas.monitoring_fuel import MonitoringFuelTotalRequest, MonitoringFuelMonthRequest, MonitoringFuelSeriesRequest
from adapters.pconfig import data_to_json
from adapters.pconfig import data_to_json, get_object_by_name
# Настройка логгера для модуля
logger = logging.getLogger(__name__)
@@ -179,7 +179,12 @@ class MonitoringFuelParser(ParserPort):
data = row.get('data')
if month and data is not None:
# data уже является DataFrame, поэтому используем его напрямую
if isinstance(data, pd.DataFrame):
data_dict[month] = data
else:
# Если data не DataFrame, пропускаем
logger.warning(f"Данные за месяц {month} не являются DataFrame, пропускаем")
return data_dict
@@ -295,10 +300,10 @@ class MonitoringFuelParser(ParserPort):
# Проверяем, что колонка 'name' существует
if 'name' in df_full.columns:
# Применяем функцию get_id_by_name к каждой строке в колонке 'name'
# df_full['id'] = df_full['name'].apply(get_object_by_name) # This line was removed as per new_code
# Временно используем name как id
df_full['id'] = df_full['name']
# Применяем функцию get_object_by_name к каждой строке в колонке 'name'
df_full['id'] = df_full['name'].apply(get_object_by_name)
# Удаляем строки, где не удалось найти ID
df_full = df_full.dropna(subset=['id'])
else:
# Если нет колонки name, создаем id из индекса
df_full['id'] = df_full.index

View File

@@ -128,14 +128,7 @@ def render_monitoring_fuel_tab():
# Показываем количество найденных ID
st.info(f"📊 Найдено {len(series_data)} объектов")
# Создаем DataFrame для отображения
df_series = pd.DataFrame(series_data).T
df_series.index.name = 'ID объекта'
st.dataframe(df_series, use_container_width=True)
# Показываем JSON для отладки
with st.expander("🔍 JSON данные"):
# Показываем JSON данные
st.json(result)
else:
st.warning("⚠️ Данные не найдены")