0
点赞
收藏
分享

微信扫一扫

python实现生日查询系统​

功能需求

给定一个xlsx文件,里面写有员工姓名和信息,分别由Name字段和Birthday字段代表,要求设计一个python程序,对文件信息进行读取。当用户输入某个姓名时,程序自行判断今天是否为该员工的生日,如果是的话,就打印出“生日快乐!XXX!”;如果今天不是该员工的生日,就打印出“今天不是XXX的生日”;如果输入的姓名不在xlsx文件中,则打印出“XXX不在我们的数据库当中”

python实现生日查询系统​_数据集



程序分析

1:实现python自动读取xlsx文件并查询生日,可以使用python中的pandas库和openpyxl库。(对于这两个库的安装,如果遇到问题的话,可以参考 实现python自动化进行薪资核算——关于pip和pandas库的版本问题)

2:定义一个查询函数,函数中实现数据集的读取和时间的比对

3:读取数据集成功后,进行用户输入的姓名和数据集中的姓名的比对,获取对应的生日;此时如果再xlsx中检索到输入的员工姓名,应设置条件,方便对非员工姓名的判断

4:将对应Birthday字符串转换为日期时间类型

5:获取当前时间,再和转换完成的生日日期进行比较

6:利用if语句,根据需求做出相应判断

7:input()语句,获取用户输入的员工姓名信息


程序实现

import pandas as pd
#读取xlsx文件
data = pd.read_excel('birthdays.xlsx')

#定义查询函数
def check_birthday(name):
    #在数据集中查找名字对应的生日
    birthday = data[data['Name'] == name]['Birthday'].values

    if len(birthday)>0:
        today = pd.to_datetime(pd.Timestamp.now().date())

        birthday_data = pd.to_datetime(birthday[0])

        if today.month == birthday_data.month and today.day == birthday_data.day:
            print(f"生日快乐!{name}!")
        else:
            print(f"今天不是{name}的生日哦!")
    else:
        print(f"{name}不在我们的数据库中")

name =input('请输入您要查找的姓名:')
check_birthday(name)


运行结果


生日:

python实现生日查询系统​_字段_02

非生日:

python实现生日查询系统​_pandas_03

非员工:

python实现生日查询系统​_字段_04


总结

在这个示例中,首先使用pd.read_excel()函数读取包含生日信息的xlsx文件,并将其存储在data变量中。然后,定义了一个名为check_birthday()的函数,它接受一个名字作为参数,并在数据集中查找对应的生日。如果找到了生日,它会检查今天是否是生日,并打印相应的消息。如果未找到生日或今天不是生日,它也会打印相应的消息。最后,调用check_birthday()函数来查询某个人的生日。


举报

相关推荐

0 条评论