Advertisement
Onigiri10

budget_v30.05

May 30th, 2022
916
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.87 KB | None | 0 0
  1. #from turtle import width
  2. import streamlit as st
  3. import pandas as pd
  4. from st_aggrid import AgGrid
  5. #from st_aggrid.grid_options_builer import GridOptionsBuilder
  6.  
  7. st.set_page_config(page_title='Расчет бюджетной оценки',
  8.                    page_icon=':pencil:',
  9.                    layout='wide')
  10.  
  11. st.image('avaya.png',width=200) #вставка лого
  12.  
  13. #табличка с примером  
  14. df = pd.DataFrame({  
  15.   'first column': [1, 2, 3, 4],
  16.   'second column': [10, 20, 30, 40]
  17. })                                    
  18.  
  19. #боковая панель
  20. st.sidebar.header('Добавление новых записей в базу')
  21. product_code = st.sidebar.number_input('Введите код товара (при наличии)',0,None) #param: min - 0, max - None
  22. product_name = st.sidebar.text_input('Введите название позиции')
  23. button_add_entry = st.sidebar.button("Добавить") #кнопка добавления новой записи в таблицу
  24. if button_add_entry:
  25.   new_row = {'first column':5}
  26.   df.append(new_row, ignore_index=True)  #ошибка - не добавляется запись
  27.  
  28. st.title('Приложение для расчета и формирования бюджетной оценки') #заголовок
  29.  
  30. col1, col2 = st.columns(2) #разделение макета на 2 столбца
  31.  
  32. #поиск товара по коду (прецедент)
  33. number_text = col1.number_input('Введите код товара',0,None,1)  
  34. st.write(f"Выбранный код товара: {int(number_text)}")
  35. col2.caption('Нажмите на кпопку для поиска')
  36. col2.button('Поиск')
  37.  
  38. #при использовании формы (form) страница не будет перегружаться каждый раз при изменении каких-то параметров,
  39. #а только при нажатии кнопки (form_submit_button)
  40. form1 = st.form(key='Table')
  41. form1.table(df)
  42. form1.form_submit_button('Click me')
  43.  
  44.  
  45. find_expander = st.expander('Поиск по ключевым словам')
  46. with find_expander:
  47.   #поиск товара по ключевым словам (прецедент)
  48.   find_expander.header('Поиск позиций по ключевым словам')
  49.   options = find_expander.multiselect('Выберете ключевые слова',['Communication manager - CM',
  50. 'System manager - SMGR'])
  51.  
  52.  
  53. @st.cache #кэширование данных
  54. def file_upload(): #функция загрузки данных их excel-файла
  55.   df2 = pd.read_excel(
  56.         io='Landata.xlsx',
  57.         engine='openpyxl',
  58.         sheet_name='Landata',
  59.         usecols='A:D',
  60.         nrows=10)
  61.   return df2
  62.  
  63. df2 = file_upload()
  64. AgGrid(df2)
  65. #gd = GridOptionsBuilder.from_dataframe(df2)
  66.  
  67. st.markdown("""---""") #черта
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement