📅  最后修改于: 2023-12-03 14:51:42.539000             🧑  作者: Mango
本文将介绍一个使用 Python 编写的大熊猫日期时间查询程序。该程序可以根据用户提供的日期和时间,查询大熊猫馆在当天的开放情况。
该程序使用了 pandas
库和 datetime
模块,实现了以下功能:
确保已经安装了 pandas
库
!pip install pandas
将以下代码片段复制到 Python 环境中
import pandas as pd
import datetime
def panda_time(date: str, time: str) -> str:
"""根据日期和时间查询大熊猫馆开放情况"""
schedule = pd.read_excel('panda_schedule.xlsx')
dt = datetime.datetime.strptime(date + ' ' + time, '%Y-%m-%d %H:%M')
day = dt.strftime('%a').lower()
idx = schedule[schedule['day'] == day].index[0]
start_time = schedule.loc[idx, 'start']
end_time = schedule.loc[idx, 'end']
if start_time <= dt.time() <= end_time:
return f'大熊猫馆正在开放,开放时间为 {start_time},关闭时间为 {end_time}'
else:
next_day_idx = schedule[schedule.index > idx][0:1].index[0]
next_day = schedule.loc[next_day_idx, 'day'].capitalize()
next_day_start = schedule.loc[next_day_idx, 'start']
next_day_end = schedule.loc[next_day_idx, 'end']
return f'大熊猫馆未开放,下一次开放时间为 {next_day} {next_day_start},关闭时间为 {next_day_end}'
调用 panda_time
函数,传入日期和时间参数
panda_time('2022-01-01', '10:30')
如果大熊猫馆在该时间开放,将返回以下结果
大熊猫馆正在开放,开放时间为 08:30:00,关闭时间为 17:00:00
如果大熊猫馆未开放,将返回以下结果
大熊猫馆未开放,下一次开放时间为 Mon 08:00:00,关闭时间为 Mon 17:00:00
本程序使用了一个 Excel 文件作为数据源,示例数据如下:
| day | start | end | | ---- | --------- | --------- | | mon | 08:00:00 | 17:00:00 | | tue | 09:00:00 | 16:30:00 | | wed | 08:30:00 | 17:30:00 | | thu | 08:00:00 | 17:00:00 | | fri | 08:00:00 | 17:00:00 | | sat | 09:00:00 | 16:30:00 | | sun | 08:30:00 | 17:30:00 |
程序可以根据该数据源判断大熊猫馆在每天的什么时间开放,什么时间关闭。