首页 编程教程正文

花了2天时间学习使用pandas操作excel,初步构造一个员工管理系统

piaodoo 编程教程 2020-02-22 22:16:29 1500 0 python教程

本文来源吾爱破解论坛

老人家刚学习。。。大神勿喷,希望可以指出不足。
主要功能:运行代码显示系统功能界面
1. 添加学员 2. 删除学员 3. 修改学员信息
4. 查询学员信息 5. 显示所有学员信息 6. 退出系统
共写了3个版本
1、控制台版本:构架各个模块,并完善功能细节。
2、保存txt文件版本:大脑不够用,只能将数据以[{}]列表嵌套字典的完整格式保存,每次都是读取文件到变量,再操作添加、修改等操作,最后再保存到txt文件,非常不好
3、已xlsx格式保存excel文件,总算能看的过去了嗨学网

代码我经过反复查看,思考,暂时未想出更精简的方法。
希望各位大神指出不足和指教一些经验。
代码是第三个版本的,前面2个就不发了
[Python] 纯文本查看 复制代码

import pandas as pd
文件位置 = 'Python员工档案.xlsx'
列标题 = ['姓名', '年龄', '性别', '部门', '岗位', '职称']
class 入口():
    def 读取数据(self):
        try:
            读取 = pd.read_excel(io=文件位置)
            读取.index=读取.index+1
            return 读取
        except:
            数据 = pd.DataFrame(columns=列标题)
            数据.to_excel(文件位置, index=0)
            print('您好,欢迎您使用Python员工管理系统\n'
                  '首次使用,系统自动创建员工管理文件\n'
                  '文件创建中……\n'
                  '文件创建成功')
            读取 = pd.read_excel(io=文件位置)
            return 读取

    def 添加员工(self):
        员工信息 = [{'姓名': 姓名, '年龄': 年龄,
                 '性别': 性别, '部门': 部门,
                 '岗位': 岗位, '职称': 职称}]
        读取 = 入口().读取数据()
        遍历姓名 = (读取.reindex(columns=['姓名']))
        for i in 遍历姓名['姓名'].values:
            if str(i) == 姓名:
                print('该员工已存在')
                return
        读取 = 读取.append(员工信息)
        读取.to_excel(文件位置, index=False)
        print('"{}"的员工信息已经添加完成'.format(姓名))
        print('---------------------')
        return

    def 删除员工(self):
        读取 = 入口().读取数据()
        字典=读取.to_dict()
        for k in range(1,len(字典['姓名'])+1):
            if 字典['姓名'][k] == 删除员工:
                print('已为您找到该员工信息')
                print('姓名:{}\n'
                      '年龄:{}\n'
                      '性别:{}\n'
                      '部门:{}\n'
                      '岗位:{}\n'
                      '职称:{}\n'.format(字典['姓名'][k],
                                       字典['年龄'][k],
                                       字典['性别'][k],
                                       字典['部门'][k],
                                       字典['岗位'][k],
                                       字典['职称'][k]))
                print('---------------------')
                读取.drop([k],inplace=True)
                读取.to_excel(文件位置, index=False)
                print('成功删除员工"{}"'.format(删除员工))
                print('---------------------')
                return
        print('您删除的员工不存在')
        print('---------------------')
    def 修改员工(self):
        读取 = 入口().读取数据()
        字典=读取.to_dict()
        for k in range(1,len(字典['姓名'])+1):
            if 字典['姓名'][k] == 修改员工:
                print('已为您找到该员工信息')
                print('姓名:{}\n'
                      '年龄:{}\n'
                      '性别:{}\n'
                      '部门:{}\n'
                      '岗位:{}\n'
                      '职称:{}\n'.format(字典['姓名'][k],
                                       字典['年龄'][k],
                                       字典['性别'][k],
                                       字典['部门'][k],
                                       字典['岗位'][k],
                                       字典['职称'][k]))
                print('---------------------')
                修改 = input('请输入您要修改的信息编号(\n'
                           '1.姓名,2.年龄,3.性别\n'
                           '4.部门,5.岗位,6.职称\n'
                           '输入任意键退出):')
                if 修改 == '1':
                    新数据变量 = input('请输入新的姓名:')
                    修改变量 = '姓名'
                elif 修改 == '2':
                    新数据变量 = input('请输入新的年龄:')
                    修改变量 = '年龄'
                elif 修改 == '3':
                    新数据变量 = input('请输入新的性别:')
                    修改变量 = '性别'
                elif 修改 == '4':
                    新数据变量 = input('请输入新的部门:')
                    修改变量 = '部门'
                elif 修改 == '5':
                    新数据变量 = input('请输入新的岗位:')
                    修改变量 = '岗位'
                elif 修改 == '6':
                    新数据变量 = input('请输入新的职称:')
                    修改变量 = '职称'
                else:
                    print('您已退出修改员工信息功能!')
                    print('---------------------')
                    return
                print('---------------------')
                读取.loc[k, 修改变量] = 新数据变量
                读取.to_excel(文件位置, index=False)
                print('修改成功:该员工"{}"'
                      '已修改为"{}"'.format(修改变量, 新数据变量))
                print('---------------------')
                return
        print('您修改的员工不存在')
        print('---------------------')

    def 查询员工(self):
        读取 = 入口().读取数据()
        遍历姓名 = (读取.reindex(columns=['姓名',
                                    '年龄',
                                    '性别',
                                    '部门',
                                    '岗位',
                                    '职称'
                                    ]))
        for i in 遍历姓名.values:
            if i[0] == 查询员工:
                print('已为您找到该员工信息')
                print('姓名:{}\n'
                      '年龄:{}\n'
                      '性别:{}\n'
                      '部门:{}\n'
                      '岗位:{}\n'
                      '职称:{}\n'.format(i[0],i[1],i[2],i[3],i[4],i[5]))
                print('---------------------')
                return
        print('您查询的员工不存在')
        print('---------------------')

    def 所有员工(self):
        读取 = 入口().读取数据()
        print('共有"{}"名员工'.format(len(读取)))
        print(读取)
        print('-----------------------------------')

    def 退出系统(self):
        print('您已成功退出Python员工管理系统!')
        print('----------Bye bye----------')
        exit()

if __name__ == '__main__':
    while True:
        读取=入口().读取数据()
        print('--- 欢迎使用Python员工管理系统 ---')
        print('1、添加员工信息    2、删除员工信息')
        print('3、修改员工信息    4、查询员工信息')
        print('5、所有员工信息    6、退出管理系统')
        print('------------- end -------------')
        序号 = input('请输入您要操作的功能序号:')
        print('-----------------------------------')
        if 序号 == '1':
            姓名 = str(input('请输入员工姓名:'))
            年龄 = int(input('请输入员工年龄:'))
            性别 = str(input('请输入员工性别:'))
            部门 = str(input('请输入员工部门:'))
            岗位 = str(input('请输入员工岗位:'))
            职称 = str(input('请输入员工职称:'))
            入口().添加员工()
        elif 序号 == '2':
            if len(读取) == 0:
                print('暂时没有员工,请添加员工信息!\n')
            else:
                删除员工 = input('请输入要删除的员工名称:')
                print('---------------------')
                入口().删除员工()
        elif 序号 == '3':
            if len(读取) == 0:
                print('暂时没有员工,请添加员工信息!\n')
            else:
                修改员工 = input('请输入您要修改的员工名称:')
                print('---------------------')
                入口().修改员工()
        elif 序号 == '4':
            if len(读取) == 0:
                print('暂时没有员工,请添加员工信息!\n')
            else:
                查询员工 = input('请输入要查询的员工名称:')
                print('---------------------')
                入口().查询员工()
        elif 序号 == '5':
            if len(读取) == 0:
                print('暂时没有员工,请添加员工信息!\n')
            else:
                入口().所有员工()
        elif 序号 == '6':
            入口().退出系统()
        else:
            print('请输入正确的序号\n')

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/8065.html

搜索