Python+streamlit實現(xiàn)輕松創(chuàng)建人事系統(tǒng)
系統(tǒng)簡介
這個簡單的人事系統(tǒng)包含了添加員工和顯示員工列表兩個功能。在 Streamlit 庫中,可以使用 st.sidebar 創(chuàng)建側(cè)邊欄,其中可以包含各種菜單選項。在選擇菜單選項后,可以使用 st.write 和 st.dataframe 顯示文本和數(shù)據(jù)表格。此外,可以使用 st.text_input 和 st.number_input 創(chuàng)建輸入框,讓用戶輸入員工信息,并使用 st.button 創(chuàng)建按鈕來觸發(fā)添加員工操作。最后,在程序主函數(shù)中調(diào)用以上各個函數(shù)即可。
代碼詳情
我們先導(dǎo)入相關(guān)依賴,并創(chuàng)建員工類
import streamlit as st
import pandas as pd
# 創(chuàng)建員工類
class Employee:
def __init__(self, name, age, position):
self.name = name
self.age = age
self.position = position
接下來我們編寫員工函數(shù),導(dǎo)入員工數(shù)據(jù)
# 創(chuàng)建員工列表
employee_list = []
# 添加員工函數(shù)
def add_employee(name, age, position):
employee = Employee(name, age, position)
employee_list.append(employee)
# 顯示員工列表函數(shù)
def show_employee_list():
if len(employee_list) == 0:
st.write('員工列表為空!')
else:
df = pd.DataFrame([[e.name, e.age, e.position] for e in employee_list], columns=['姓名', '年齡', '職位'])
st.dataframe(df)
最后就是添加頁面部分以及主程序
# 添加員工界面
def add_employee_page():
st.write('添加新員工')
name = st.text_input('姓名')
age = st.number_input('年齡', min_value=0, max_value=100)
position = st.text_input('職位')
if st.button('添加'):
add_employee(name, age, position)
st.success('添加成功!')
# 顯示員工列表界面
def show_employee_list_page():
st.write('員工列表')
show_employee_list()
# 主程序
def main():
st.title('人事系統(tǒng)')
menu = ['添加員工', '員工列表']
choice = st.sidebar.selectbox('選擇菜單', menu)
if choice == '添加員工':
add_employee_page()
elif choice == '員工列表':
show_employee_list_page()
完整代碼
import streamlit as st
import pandas as pd
# 創(chuàng)建員工類
class Employee:
def __init__(self, name, age, position):
self.name = name
self.age = age
self.position = position
# 創(chuàng)建員工列表
employee_list = []
# 添加員工函數(shù)
def add_employee(name, age, position):
employee = Employee(name, age, position)
employee_list.append(employee)
# 顯示員工列表函數(shù)
def show_employee_list():
if len(employee_list) == 0:
st.write('員工列表為空!')
else:
df = pd.DataFrame([[e.name, e.age, e.position] for e in employee_list], columns=['姓名', '年齡', '職位'])
st.dataframe(df)
# 添加員工界面
def add_employee_page():
st.write('添加新員工')
name = st.text_input('姓名')
age = st.number_input('年齡', min_value=0, max_value=100)
position = st.text_input('職位')
if st.button('添加'):
add_employee(name, age, position)
st.success('添加成功!')
# 顯示員工列表界面
def show_employee_list_page():
st.write('員工列表')
show_employee_list()
# 主程序
def main():
st.title('人事系統(tǒng)')
menu = ['添加員工', '員工列表']
choice = st.sidebar.selectbox('選擇菜單', menu)
if choice == '添加員工':
add_employee_page()
elif choice == '員工列表':
show_employee_list_page()
if __name__ == '__main__':
main()
到此這篇關(guān)于Python+streamlit實現(xiàn)輕松創(chuàng)建人事系統(tǒng)的文章就介紹到這了,更多相關(guān)Python streamlit人事系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PyCharm 2020.2下配置Anaconda環(huán)境的方法步驟
這篇文章主要介紹了PyCharm 2020.2下配置Anaconda環(huán)境的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09
PyTorch+LSTM實現(xiàn)單變量時間序列預(yù)測
時間序列是指在一段時間內(nèi)發(fā)生的任何可量化的度量或事件。這篇文章主要為大家介紹了PyTorch+LSTM實現(xiàn)單變量時間序列預(yù)測的相關(guān)資料,需要的可以參考一下2023-02-02
python Bamboolib庫加速Pandas數(shù)據(jù)分析過程詳解
這篇文章主要介紹了python Bamboolib庫加速Pandas數(shù)據(jù)分析過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01
python實現(xiàn)簡易的學生信息管理系統(tǒng)
這篇文章主要為大家詳細介紹了python實現(xiàn)簡易的學生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-05-05
python使用PIL把透明背景圖片轉(zhuǎn)成白色背景的示例代碼
當我們在采集一些圖片的時候,這些圖片的背景經(jīng)常是透明的,但是如何把透明背景轉(zhuǎn)成白色背景呢,接下來就給大家解決這個問題,本文主要介紹了python使用PIL把透明背景圖片轉(zhuǎn)成白色背景,需要的朋友可以參考下2023-08-08
Python 新建文件夾與復(fù)制文件夾內(nèi)所有內(nèi)容的方法
今天小編就為大家分享一篇Python 新建文件夾與復(fù)制文件夾內(nèi)所有內(nèi)容的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
python編寫學生成績管理系統(tǒng)的邏輯結(jié)構(gòu)及功能實現(xiàn)
這篇文章主要為大家介紹了python編寫學生成績管理系統(tǒng)實現(xiàn)八個功能示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-04-04
如何用python開發(fā)Zeroc Ice應(yīng)用
這篇文章主要介紹了如何用python開發(fā)Zeroc Ice應(yīng)用,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01

