博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
员工信息表
阅读量:6417 次
发布时间:2019-06-23

本文共 1523 字,大约阅读时间需要 5 分钟。

dic = {'name': 1,'id':0,'age':2,'phone':3,'job':4}# 读取文件 —— 将文件中的内容整理到内存里def get_line(filename):    '''    读取文件中的每一行    :param filename:文件名    :return:生成器,文件中每一行的生成器    '''    with open(filename,encoding='utf-8') as f:        for line in f:            line = line.strip()            line_lst = line.split(',')            yield line_lstdef condition_filter(condition):    '''    根据条件_筛选    :param condition:用户输入的条件'age'>20    :return:符合条件的行列表    '''    condition = condition.strip()    if '>' in condition:        col,val = condition.split('>')        g = get_line('userinfo')        for line_lst in g:            if int(line_lst[dic[col]]) > int(val):                yield line_lstdef views(view_lst,staff_g):     #view_lst = ['name','age']    '''    展示符合条件的员工信息    :param view_lst:['name','age']    :param staff_g:符合条件的员工信息生成器    :return:None    '''    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 name,age where age>22'view,condition = ret.split('where')   #根据where切割用户输入得到'select name,age ',' age>22'view = view.replace('select','').strip() #select name,age '去掉select和空格view_lst = view.split(',')    #'name,age'切割成列表[name,age]print(view_lst,condition)g = condition_filter(condition) #调用筛选条件函数,找到符合用户输入条件的行(生成器)views(view_lst,g)  #展示符合条件的数据

  

转载于:https://www.cnblogs.com/eternity-twinkle/p/10545322.html

你可能感兴趣的文章
【iCore3 双核心板_FPGA】实验二十:基于FIFO的ARM+FPGA数据存取实验
查看>>
java一个数分解的质因数java
查看>>
android framework-安装samba
查看>>
配置WCF的心得
查看>>
飞雪连天射白鹿笑书神侠倚碧鸳
查看>>
排名中国重读“发展Linux,中日两国之比较”有感-java教程
查看>>
VC6.0代码移植到VS2008运行时乱码问题解决
查看>>
反射实例
查看>>
Linux安装Jdk,CentOS安装Jdk
查看>>
iOS之事件穿透
查看>>
Oracle API Availability – Profile
查看>>
Chromium Embedded Framework中文文档 (如何链接不同的运行时)
查看>>
【PAT】1029. Median (25)
查看>>
web项目的getContextPath()
查看>>
SpringMvc中两个Controller类之间传递参数的方法
查看>>
.NET Core微服务之路:基于Consul最少集群实现服务的注册与发现(二)
查看>>
【WP7】转:Windows Phone 7 开发 31 日谈 目录
查看>>
6. datasource - mysql【从零开始学Spring Boot】
查看>>
编写病毒程序取款700余万,华夏银行一技术处长被捕受审
查看>>
阿里成立达摩院做基础科研 这是一家被电商掩盖的科技公司
查看>>