python 员工信息管理系统简易版

实现一个员工信息管理系统,针对员工信息(基本信息、薪资水平)进行管理。

主要面向的用户是老板或管理层,用户可以通过该系统查询、修改、添加、删除员工的个人信息,也可以对员工的信息进行一定的统计。

系统名称:员工信息管理系统

面向用户:老板、管理层

系统功能:

1 数据输入及存储,从文件中导入初始数据到系统,系统将每次处理后的数据再存入文件

2 数据的基本操作(增删改查),现有数据的查询、修改、删除,新增数据项

3 数据的统计分析,学生基本信息的统计分析(如不同性别员工的比例、员工的薪资分布、排序等)

4 数据处理结果的展示,针对统计分析、基本处理(增删改查)的结果进行展示

直接上代码

'''
功能:数据的读取
原始数据在 rawdata.txt文件里,需要将其获取出来存放到一个字典dic里面
'''
def raw_data():
    dic = {}
    with open(r'D:\staff\rawdata.txt', 'r') as file_r:
        for line in file_r:
            data = line.strip().split(',')
            dic[data[0]] = {'name': data[1], 'sex': data[2], 'age':data[3], 'address':data[4],'phonenumber':data[5],'money':data[6]}
        return dic

'''
功能:数据的保存
将原始数据读取到字典dic中之后,再将字典中的内容保存到info.csv文件里面
'''
def data_save(dic):
    print('_____开始写入______')
    with open(r'D:\staff\info.csv', 'w+') as file_w:
        file_w.write('id,name,sex,age,address,phonenumber,money\n')
        for k, v in dic.items():
            file_w.write(k+','+v['name']+','+v['sex']+','+v['age']+','+v['address']+','+v['phonenumber']+','+v['money']+'\n')
    print('_____写入完成______')

'''
功能:数据的查询
通过输入员工工号来查询员工信息,如果员工工号不存在则重新输入
'''
def data_query(dic):
    while True:
        id = input('请输入要查询的员工工号(输入0返回操作面板):')
        if id == '0':
            break
        elif id in dic:
            attr = input('请输入你要查询的属性(例如name,sex,age)输入0返回:')
            if attr == '0':
                continue
            elif dic.get(id).get(attr, 1) != 1:
                print(dic[id][attr])
                continue
            else:
                print("没有这个属性!")
        else:
            print('没有这个ID!请重新输入!!')

'''
功能:数据的增
按照数据顺序逐个输入,然后保存到info.csv里面
'''
def data_add(dic):
    temp = input('请按照数据顺序逐个输入员工信息,并用逗号分割(id,name,sex,age,address,phonenumber,money):')
    temp = temp.split(',')
    if temp[0] in dic.keys():
        print('员工id已存在!')
        return
    else:
        dic[temp[0]] = {'name': temp[1], 'sex': temp[2], 'age':temp[3], 'address':temp[4],'phonenumber':temp[5],'money':temp[6]}
    return dic

'''
功能:数据的删
根据工号来删除数据,对行进行操作
'''
def data_del(dic):
    id_del = input("请输入要删除员工信息的工号:")
    if id_del not in dic.keys():
        print('员工id不存在!')
        return
    else:
        del dic[id_del]
        print("删除成功!")
    return dic

'''
功能:数据的修改
根据工号来修改数据,输入需要修改的属性以及属性对应的内容,并输出修改后的结果
'''
def data_modify(dic):
    id_modify = input("请输入要修改员工信息的工号:")
    if id_modify not in dic.keys():
        print('员工id不存在!')
        return
    else:
        new_attr = input('请输入要修改的属性(name,sex,age,address,phonenumber,money):')
        print('原属性对应的值为:', dic[id_modify][new_attr])
        new_value = input('请输入修改的数据:')
        dic[id_modify][new_attr] = new_value
        print('修改后该属性对应的值为:', dic[id_modify][new_attr])
        return dic

'''
功能:分析员工薪资
'''
def money_analyse(dic):
    money_list = []
    # 分析最高最低薪资
    for k, v in dic.items():
        money_list.append(int(v.get('money')))
    money_list.sort()
    print('最高薪资是:', money_list[len(money_list)-1])
    print('最低薪资是:', money_list[0])

    # 分析平均薪资
    sum_money = sum(money_list)
    avg_money = sum_money / len(money_list)
    print('平均薪资是:', avg_money)

    return
'''
功能:分析员工年龄
'''
def age_analyse(dic):
    age_list = []
    # 分析最高最低年龄
    for k, v in dic.items():
        age_list.append(int(v.get('age')))
    age_list.sort()
    print('最高年龄是:', age_list[len(age_list)-1])
    print('最低年龄是:', age_list[0])

    # 分析平均年龄
    sum_age = sum(age_list)
    avg_age = sum_age / len(age_list)
    print('平均年龄:', avg_age)

    return


if __name__ == '__main__':
    dic = raw_data()
    while True:
        print('''
        a-数据的基本操作
        b-数据的统计分析
        c-保存
        d-退出不保存
        ''')
        option1 = input('请输入要执行的操作的序号:')
        if option1 == 'a':
            print('''
            1-增
            2-删
            3-改
            4-查
            ''')
            option2 = input('请输入执行的基本操作的序号:')
            if option2 == '1':
                dic = data_add(dic)
            elif option2 == '2':
                dic = data_del(dic)
            elif option2 == '3':
                dic = data_modify(dic)
            elif option2 == '4':
                dic = data_query(dic)
            else:
                print('无该项操作!')
        elif option1 == 'b':
            print('''
            1-员工薪资分析情况
            2-员工年龄分析情况
            ''')
            option2 = input('请输入要进行的统计操作的序号:')
            if option2 == '1':
                money_analyse(dic)
            elif option2 == '2':
                age_analyse(dic)
            else:
                print('无该项操作!')
        elif option1 == 'c':
            data_save(dic)
        elif option1 == 'd':
            break
        else:
            print('无该项操作!')
  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸鱼Linux运维

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值