fruitpicker01 commited on
Commit
c250f7e
1 Parent(s): 5731d63

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -6
app.py CHANGED
@@ -1,6 +1,27 @@
1
  import gradio as gr
2
  import plotly.graph_objects as go
3
  import random
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
 
5
  # Функция для создания спидометра
6
  def create_gauge(value):
@@ -49,12 +70,13 @@ with gr.Blocks() as demo:
49
  benefits = gr.Textbox(label="Преимущества", lines=5) # Увеличенная высота
50
  key_message = gr.Textbox(label="Ключевое сообщение", lines=5) # Увеличенная высота
51
  with gr.Column():
52
- gender = gr.Dropdown(label="Пол", choices=["Мужчина", "Женщина", "Не указан"])
53
- generation = gr.Dropdown(label="Поколение", choices=["Поколение Z", "Миллениалы", "Поколение X", "Бэби-бумеры"])
54
- psychotype = gr.Textbox(label="Психотип")
55
- business_stage = gr.Textbox(label="Стадия бизнеса")
56
- industry = gr.Textbox(label="Отрасль")
57
- opf = gr.Textbox(label="ОПФ")
 
58
 
59
  btn_to_prompts = gr.Button("Создать")
60
  btn_to_prompts.click(fn=change_tab, inputs=[gr.Number(value=1, visible=False)], outputs=tabs)
 
1
  import gradio as gr
2
  import plotly.graph_objects as go
3
  import random
4
+ import pandas as pd
5
+
6
+ # Загрузка данных из Excel-файла
7
+ try:
8
+ data = pd.read_excel('Признаки.xlsx', sheet_name=None)
9
+ except Exception as e:
10
+ print(f"Ошибка при загрузке Excel-файла: {e}")
11
+ data = {}
12
+
13
+ # Создание списка признаков и их значений
14
+ features = {}
15
+ for sheet_name, df in data.items():
16
+ try:
17
+ if sheet_name == "Пол Поколение Психотип":
18
+ # Создаем словарь, где ключи — это кортежи (Пол, Поколение, Психотип), а значения — инструкции
19
+ features[sheet_name] = df.set_index(['Пол', 'Поколение', 'Психотип'])['Инструкция'].to_dict()
20
+ else:
21
+ features[sheet_name] = df.set_index(df.columns[0]).to_dict()[df.columns[1]]
22
+ except Exception as e:
23
+ print(f"Ошибка при обработке данных листа {sheet_name}: {e}")
24
+ features[sheet_name] = {}
25
 
26
  # Функция для создания спидометра
27
  def create_gauge(value):
 
70
  benefits = gr.Textbox(label="Преимущества", lines=5) # Увеличенная высота
71
  key_message = gr.Textbox(label="Ключевое сообщение", lines=5) # Увеличенная высота
72
  with gr.Column():
73
+ # Используем данные из Excel для выбора
74
+ gender = gr.Dropdown(label="Пол", choices=[None] + list(features.get('Пол', {}).keys()))
75
+ generation = gr.Dropdown(label="Поколение", choices=[None] + list(features.get('Поколение', {}).keys()))
76
+ psychotype = gr.Dropdown(label="Психотип", choices=[None] + list(features.get('Психотип', {}).keys()))
77
+ business_stage = gr.Dropdown(label="Стадия бизнеса", choices=[None] + list(features.get('Стадия бизнеса', {}).keys()))
78
+ industry = gr.Dropdown(label="Отрасль", choices=[None] + list(features.get('Отрасль', {}).keys()))
79
+ opf = gr.Dropdown(label="ОПФ", choices=[None] + list(features.get('ОПФ', {}).keys()))
80
 
81
  btn_to_prompts = gr.Button("Создать")
82
  btn_to_prompts.click(fn=change_tab, inputs=[gr.Number(value=1, visible=False)], outputs=tabs)