首页 > 解决方案 > 使用文件和工作表名称中的动态日期在python中读取excel文件

问题描述

我有一种情况,我想每天读取一个 excel 文件,其中文件名以以下格式写入:file_name 08.20.2018 xyz.xlsx并每天更新,其中日期每天都在更改。

在读取此文件时我需要做的同样的事情是,我需要从一张表中提取数据,该表的命名约定也随着日期每天发生变化。示例工作表名称是sheet1-08.20.2020-data

我应该如何实现这一目标?我正在使用以下代码,但它不起作用:

df = pd.read_Excel(r'file_name 08.20.2018 xyz.xlsx', sheet_name = 'sheet1-08.20.2020-data')

我如何更新这行代码,以便它每天动态地选择数据,并有新的日期进入。这里要清楚的是,日期也将是递增的,没有间隙。

标签: python-3.xexcelpandasdate

解决方案


您可以使用pathlibdatetime模块来自动化该过程:

from pathlib import Path
from datetime import date

#assuming you have a directory of files:
folder = Path(directory of files)
sheetname = f"sheet1-0{date.today().month}.{date.today().day}.{date.today().year}-data"
date_string = f"filename 0{date.today().month}.{date.today().day}.{date.today().year}.xlsx"
xlsx_file = folder.glob(date_string)

#read in data
df = pd.read_excel(io=next(xlsx_file), sheet_name = sheetname)

推荐阅读