Spaces:
Sleeping
Sleeping
import streamlit as st | |
import pandas as pd | |
import numpy as np | |
import json | |
import random | |
st.title('Каталог профессий IT и Продажи') | |
st.sidebar.title('Выбор параметров для подбора вакансий') | |
with open('main_table.json', 'r') as json_file: | |
data_main = json.load(json_file) | |
df = pd.DataFrame(data_main) | |
# st.sidebar.write(df.columns) | |
with open('dop_table.json', 'r') as json_file: | |
data_dop = json.load(json_file) | |
df = pd.DataFrame(data_main) | |
df_dop = pd.DataFrame(data_dop) | |
with open('list1.json', 'r') as json_file: | |
table1 = json.load(json_file) | |
df1 = pd.DataFrame(table1) | |
# df = df[['Сфера ', 'Профессия ', 'ЗП в вакансии', 'Навыки ']] | |
# df = pd.DataFrame(columns=['Сфера', 'Профессия', 'ЗП Вакансии', 'Навыки', 'Недостающие навыки']) | |
dohod = 0 | |
i = 0 | |
# while True: | |
with st.sidebar: | |
sphere = st.selectbox( | |
"Выбери сферу:", options = list(df['Сфера '].unique()), key=i) | |
# st.write("Выбрано:", sphere) | |
# st.write(df.columns) | |
dohod = st.number_input( | |
"Введите уровень дохода", key=f"number_input_{i}" | |
# ("IT", "Продажи") | |
) | |
st.write("Выбрано:", dohod) | |
# df2 = df[df['ЗП в вакансии'] >= dohod] | |
sphere_change = st.selectbox( | |
"Готов ли менять сферу", options = ["Да", "Нет"], key=f"{i+1}m", | |
index=None, | |
) | |
st.write("Выбрано:", sphere_change) | |
gotov_uchitsia = st.selectbox( | |
"Готов ли обучаться", | |
options = ["Да", "Нет"], key=f"{i+1}ml", | |
index=None, | |
) | |
st.write("Выбрано:", gotov_uchitsia) | |
st.header('Выберите навыки, которые у Вас есть') | |
python = st.checkbox("Python", key=f"{i+1}mlr") | |
sql = st.checkbox("SQL", key=f"{i+1}mlrq") | |
html = st.checkbox("HTML", key=f"{i+1}mlrw") | |
java = st.checkbox("Java", key=f"{i+1}mlre") | |
figma = st.checkbox("Figma", key=f"{i+1}mlrr") | |
power_bi = st.checkbox("Bower BI", key=f"{i+1}mlrt") | |
prodaji = st.checkbox("Продажи", key=f"{i+1}mlry") | |
analys_prodaj = st.checkbox("Анализ продаж", key=f"{i+1}mlru") | |
work_with_clients = st.checkbox("Работа с клиентами", key=f"{i+1}mlri") | |
riteil = st.checkbox("Ритейл", key=f"{i+1}mlrl") | |
i+=1 | |
but = st.button('Данные введены в полном объеме', key=f"{i+1}mlurl") | |
list_skills=[] | |
if but: | |
if python: | |
list_skills.append(' Python') | |
if sql: | |
list_skills.append(' SQL') | |
if html: | |
list_skills.append('HTML') | |
if java: | |
list_skills.append('Java') | |
if figma: | |
list_skills.append('Figma') | |
if power_bi: | |
list_skills.append('Power BI') | |
if prodaji: | |
list_skills.append('Продажи') | |
if work_with_clients: | |
list_skills.append('Работа с клиентами') | |
if riteil: | |
list_skills.append('ритейл') | |
# st.write(but) | |
# st.write(python) | |
# st.write(html) | |
# st.write(sphere_change) | |
# st.write(gotov_uchitsia) | |
mask_sphere = df1['Сфера '] == sphere | |
if sphere_change == "Да": | |
mask_sphere = df1['Сфера '] != 0 | |
st.header('Вакансии, которые вам будут интересны') | |
df1 = df1[mask_sphere][df1['ЗП в вакансии'] >= dohod] | |
df1 = df1[['Сфера ', 'Профессия ', 'ЗП в вакансии', 'Навыки ']] | |
st.dataframe(df1, width=1100, height=300) | |
st.header('Возможности обучения') | |
df2 = df[df['Сфера '] == sphere][df['ЗП в вакансии'] >= dohod][~df['Навыки '].isin(list_skills)] | |
df2 = pd.merge(df2, df_dop, on='Навыки ', how='left').dropna() | |
st.dataframe(df2, width=1100, height=1000) | |