📜  大熊猫日期时间查询 - Python (1)

📅  最后修改于: 2023-12-03 14:51:42.539000             🧑  作者: Mango

大熊猫日期时间查询 - Python

简介

本文将介绍一个使用 Python 编写的大熊猫日期时间查询程序。该程序可以根据用户提供的日期和时间,查询大熊猫馆在当天的开放情况。

程序功能

该程序使用了 pandas 库和 datetime 模块,实现了以下功能:

  • 根据用户提供的日期和时间,判断大熊猫馆是否开放
  • 如果开放,返回开放时间和关闭时间
  • 如果没有开放,返回下一次开放时间和关闭时间
使用方法
  1. 确保已经安装了 pandas

    !pip install pandas
    
  2. 将以下代码片段复制到 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}'
    
    
  3. 调用 panda_time 函数,传入日期和时间参数

    panda_time('2022-01-01', '10:30')
    
  4. 如果大熊猫馆在该时间开放,将返回以下结果

    大熊猫馆正在开放,开放时间为 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 |

程序可以根据该数据源判断大熊猫馆在每天的什么时间开放,什么时间关闭。