首页 > 解决方案 > 如何根据当前日期使用 python Pandas 从 Excel 工作表加载特定工作簿

问题描述

我有一个包含 no 的 excel 表。工作簿选项卡的名称为 1st、2nd、3rd、4th 等。我想根据当前日期打开工作簿。例如:如果今天是 8 月 20 日,那么我只想打开 8 月 20 日的工作簿并执行我的进一步操作。目前我正在使用熊猫并能够通过提供工作表名称来打开工作簿,但我想通过比较当前日期条件来打开工作簿。

任何人都可以建议或帮助吗?

标签: pythonexcelpandasnumpy

解决方案


作为建议,您可以tuple使用所有预期的名称定义 a ,然后使用作为命令结果给出的索引访问它pd.Timestamp.now().strftime(如评论中所建议的那样)。除了使用预期名称day访问之外sheet,您还可以扩展行为并获取monthfromstrftime以打开xlsx文件。

输入sep.xlsx excel表格

import pandas as pd

order = ('1st', '2nd', '3rd', '4th', '5th', '6th', '7th', '8th', '9th', '10th',
         '11th', '12th', '13th', '14th', '15th', '16th', '17th', '18th', '19th',
         '20th', '21st', '22nd', '23rd', '24th', '25th', '26th', '27th', '28th',
         '29th', '30th', '31st'
        )

day, month = pd.Timestamp.now().strftime("%d %b").split()
day = order[int(day)-1]
month = month.lower()

df1 = pd.read_excel(f"{month}.xlsx", sheet_name=day, skiprows=3)

推荐阅读