get_series_by_id_and_columns функционален
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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("⚠️ Данные не найдены")
|
||||
|
||||
Reference in New Issue
Block a user