转载https://blog.csdn.net/qq_35883464/article/details/83151464

实现员工信息表
文件存储格式如下:
id,name,age,phone,job
1,Alex,22,13651054608,IT
2,Egon,23,13304320533,Tearcher
3,nezha,25,1333235322,IT

现在需要对这个员工信息文件进行增删改查。

不允许一次性将文件中的行都读入内存。
基础必做:
a.可以进行查询,支持三种语法:
select 列名1,列名2,… where 列名条件
支持:大于小于等于,还要支持模糊查找。
示例:
select name, age where age>22
select * where job=IT
select * where phone like 133

进阶选做:
b.可创建新员工记录,id要顺序增加
c.可删除指定员工记录,直接输入员工id即可
d.修改员工信息
语法:set 列名=“新的值” where 条件
#先用where查找对应人的信息,再使用set来修改列名对应的值为“新的值”

注意:要想操作员工信息表,必须先登录,登陆认证需要用装饰器完成
其他需求尽量用函数实现
---------------------
作者:陈宸-研究僧
来源:CSDN
原文:https://blog.csdn.net/qq_35883464/article/details/83151464
版权声明:本文为博主原创文章,转载请附上博文链接!

# 读取文件——
def get_line(filename):with open(filename,'r',encoding='utf-8') as f:for line in f:line = line.strip()line_lst = line.split(',')yield line_lst# 员工信息表

dic = {'name':1,'id':0,'age':2,'phone':3,'job':4}def condition_filter(condition):'''条件_筛选'''condition = condition.strip()if '>' in condition:col,val = condition.split('>')val = val.strip()col = col.strip()g = get_line('userinfo')for line_lst in g:if int(line_lst[dic[col]]) > int(val):yield line_lstif '<' in condition:col,val = condition.split('<')val = val.strip()col = col.strip()g = get_line('userinfo')for line_lst in g:if int(line_lst[dic[col]]) < int(val):yield line_lstif '=' in condition:col,val = condition.split('=')val = val.strip()col = col.strip()g = get_line('userinfo')for line_lst in g:if int(line_lst[dic[col]]) == int(val):yield line_lstelse:print('没有符合条件的员工')def views(view_lst,staff_g):         # view_list = ['name','age']'''展示符合条件的员工信息'''if '*' in view_lst:view_lst = dic.keys()for staff_info in staff_g:    # staff_info已经拿到了正确的员工信息,是列表[1,Alex,22,13651054608,IT]for i in view_lst:print(staff_info[dic[i]],end=' ')print(' ')#接受用户信息——
ret = input('输入要搜索的员工信息:')
# ret = 'select age,name where age > 22'
view,condition = ret.split('where')
view = view.replace('select','').strip()
view_lst = view.split(',')
# print(view_lst,condition)
g = condition_filter(condition)
views(view_lst,g)
---------------------
作者:陈宸-研究僧
来源:CSDN
原文:https://blog.csdn.net/qq_35883464/article/details/83151464
版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://www.cnblogs.com/saolv/p/10027550.html

s9.16作业,员工信息表相关推荐

  1. python创建员工_python作业员工信息表程序(第四周)

    #!/usr/bin/env python#-*- coding:utf-8 -*-#Author: Colin Yao """python 员工信息表操作"& ...

  2. python作业第四周答案_Python3第四周作业——员工信息表程

    员工信息表程序,实现增删改查操作: 可进行模糊查询,语法至少支持下面3种: select name,age from staff_table where age > 22 select * fr ...

  3. mysql岗位表格作业_员工信息表作业

    文件存储格式如下: id,name,age,phone,job 1,Alex,22,13651054608,IT 2,Egon,23,13304320533,Tearcher 3,nezha,25,1 ...

  4. 生成word_Word生成员工信息表,每一页生成独立文件,还能自动命名

    今天,易老师来给大家分享一个实用的功能,将Word文档每一页都生成一个单独的文件,而且还能够自动命名. 准备工作 1.这里我以公司员工信息表来作为演示案例,最后我会将所有的员工单独生成每一个文件,还可 ...

  5. python做系统查人的往来的信息_L01-04:python查询员工信息表练习

    #decoding=utf-8 ''' 编写可供用户查询的员工信息表! 1|用户认证 ID Name department phone 查询关键字:姓名 '''import linecache inp ...

  6. Excel如何批量为员工信息表添加照片

    1.如下图为员工信息表,现在老板要求我们为员工信息表添加员工照片. 2.插入之前,我们需要先将员工照片统一放在一个文件夹中,并将员工各自照片以各自姓名命名. 3.将存放图片的单元格列宽设置20,行高设 ...

  7. mysql员工信息表_MySQL版emp员工信息表

    MySQL版emp员工信息表,可以用来练习MySQL或测试MySQL环境是否正常工作. create table emp ( empno numeric(4) not null, ename varc ...

  8. python查询员工信息表

    基本要求: 用户可以模糊查询员工信息 显示匹配了多少条,匹配字符需要高亮显示 代码: #!/usr/env python #coding:utf-8import timedef BreakFlag() ...

  9. SQL员工信息表题目及答案

    建表语句 员工信息表 tb_info CREATE TABLE scott.tb_info(dept char(2) , --部门staff_name varchar2(10) , --工号sex c ...

最新文章

  1. BZOJ5329: [SDOI2018]战略游戏——题解
  2. C++中初始化列表的使用
  3. OpenCV视频加速Video acceleration的实例(附完整代码)
  4. 操作系统之进程管理:15、哲学家进餐问题
  5. ECCV 2020 论文大盘点-场景解析篇
  6. jsoup爬虫,爬取全站代码
  7. 技术人 | 如何做一个明白状况的研发主管?
  8. Topic 9. SCI 文章第二张表—单因素回归分析表
  9. github上成员贡献量_精确统计github贡献者的代码行数
  10. 一种很轻松的Excel关键字方式进行网页Web自动化测试(Java+Selenium+TestNG+Excel)
  11. mysql中获取时间的年月日_Mysql获取系统时间,年,月,日
  12. html背景只向x轴扩散,地球化学(复习资料)
  13. 四阶龙格库塔方程解二阶常微分方程组并计算船舶在迎浪下的纵摇埀荡耦合运动方程-附Python代码
  14. java获取系统时间差_java获取系统时间与实际相差8小时的解决方法
  15. Unity镜头跟踪的四种方法
  16. linux主机名和工作组的修改方法
  17. 跨境电商小白:一件代发是什么?为什么要选择Starday一件代发?
  18. 如何正确注册Tushare
  19. Google收购Orbitera以提高app云端部署服务
  20. html-你不知道的<meter>标签

热门文章

  1. 【iOS开发】企业版证书($299)In-House方式发布指南 (转)
  2. 广播风暴系列专题(一)广播风暴:发现-端口
  3. 【Leetcode】刷题之路4(python版)
  4. python namedtuple用法_Python的collections模块中namedtuple结构使用示例
  5. axure怎么做5秒倒计时_如何用Axure做倒计时,由分到秒?
  6. xp启动java设置_Windows XP快速启动经典六招
  7. 5.7版本mysql操做语法_mysql-5.7.25安装及常用语法
  8. 多个数字数组_三菱ST语言教学(2)——数组的使用
  9. c语言判断字符串是不是回文_125. 验证回文串
  10. java导出为excel文件_java导出数据到excel文件