Python+streamlit实现轻松创建人事系统

 更新时间:2023年02月28日 08:34:20   作者:Python数据开发  
streamlit 是 基于 Python 的一个非常强大的 web 构建系统,通过该类库,我们可以实现不需要编写一行前端代码而构建一个完整的 Web 应用。下面我们就来编写一个简单的人事系统吧

系统简介

这个简单的人事系统包含了添加员工和显示员工列表两个功能。在 Streamlit 库中,可以使用 st.sidebar 创建侧边栏,其中可以包含各种菜单选项。在选择菜单选项后,可以使用 st.write 和 st.dataframe 显示文本和数据表格。此外,可以使用 st.text_input 和 st.number_input 创建输入框,让用户输入员工信息,并使用 st.button 创建按钮来触发添加员工操作。最后,在程序主函数中调用以上各个函数即可。

代码详情

我们先导入相关依赖,并创建员工类

import streamlit as st
import pandas as pd

# 创建员工类
class Employee:
    def __init__(self, name, age, position):
        self.name = name
        self.age = age
        self.position = position

接下来我们编写员工函数,导入员工数据

# 创建员工列表
employee_list = []

# 添加员工函数
def add_employee(name, age, position):
    employee = Employee(name, age, position)
    employee_list.append(employee)

# 显示员工列表函数
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('人事系统')
    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

# 创建员工类
class Employee:
    def __init__(self, name, age, position):
        self.name = name
        self.age = age
        self.position = position

# 创建员工列表
employee_list = []

# 添加员工函数
def add_employee(name, age, position):
    employee = Employee(name, age, position)
    employee_list.append(employee)

# 显示员工列表函数
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('人事系统')
    menu = ['添加员工', '员工列表']
    choice = st.sidebar.selectbox('选择菜单', menu)
    if choice == '添加员工':
        add_employee_page()
    elif choice == '员工列表':
        show_employee_list_page()

if __name__ == '__main__':
    main()

到此这篇关于Python+streamlit实现轻松创建人事系统的文章就介绍到这了,更多相关Python streamlit人事系统内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于Python错误重试方法总结

    关于Python错误重试方法总结

    在本篇文章里小编给网友们分享一篇关于关于Python错误重试方法总结内容,有需要的朋友们跟着学习参考下。
    2021-01-01
  • Python重写父类的三种方法小结

    Python重写父类的三种方法小结

    本文主要介绍了Python重写父类的三种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Python实战之手写一个搜索引擎

    Python实战之手写一个搜索引擎

    这篇文章主要介绍了Python实战之手写一个搜索引擎,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • python实现数组平移K位问题

    python实现数组平移K位问题

    这篇文章主要介绍了python实现数组平移K位问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 利用Python进行数据可视化的实例代码

    利用Python进行数据可视化的实例代码

    数据可视化和数据挖掘都是探索数据和分析数据的一种手段,下面这篇文章主要给大家介绍了关于如何利用Python进行数据可视化的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-09-09
  • Python collections中的双向队列deque简单介绍详解

    Python collections中的双向队列deque简单介绍详解

    这篇文章主要介绍了Python collections中的双向队列deque简单介绍详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Python 忽略warning的输出方法

    Python 忽略warning的输出方法

    今天小编就为大家分享一篇Python 忽略warning的输出方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python中import cv2遇到的错误及安装方式

    python中import cv2遇到的错误及安装方式

    这篇文章主要介绍了python中import cv2遇到的错误及安装方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 基于Python+tkinter实现简易计算器桌面软件

    基于Python+tkinter实现简易计算器桌面软件

    tkinter是Python的标准GUI库,对于初学者来说,它非常友好,因为它提供了大量的预制部件,本文小编就来带大家详细一下如何利用tkinter制作一个简易计算器吧
    2023-09-09
  • python实现数学模型(插值、拟合和微分方程)

    python实现数学模型(插值、拟合和微分方程)

    这篇文章主要介绍了python实现数学模型(插值、拟合和微分方程),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11

最新评论