如何在Python中打开名称部分可变的每日生成.xlsx文件?
问题:匹配每日自动生成的带可变后缀的Excel文件并读取
每日会自动生成格式为pos_list_日期_随机后缀.xlsx的Excel文件,示例文件名如pos_list_13JAN24_r9664140.xlsx、pos_list_12JAN24_r9664027.xlsx、pos_list_11JAN24_r9659944.xlsx,文件名末尾的随机部分不固定。需要在Python中无需手动查询可变后缀即可打开对应日期的文件,已知Excel支持...\pos_list_+日期+*.xlsx的通配符匹配方式,但编写的以下代码无法运行:
import pandas as pd from datetime import date Date = ((date.today()).strftime("%d%b%y")).upper() Input_Path = r'...\\pos_list_' + Date + '*.xlsx' df = pd.read_excel(Input_Path, sheet = 'Data')
可行解决方案
pandas.read_excel不支持直接解析通配符路径,需借助glob模块来处理通配符匹配,获取符合规则的文件列表后读取目标文件(需确保当日仅生成一个对应文件)。修正后的代码如下:
import pandas as pd from datetime import date import glob Date = ((date.today()).strftime("%d%b%y")).upper() # 拼接日期精准匹配当日文件,避免匹配其他日期的文件 Input_Path = glob.glob('...\\pos_list_' + Date + '*.xlsx') df = pd.read_excel(Input_Path[0], sheet = 'Data')
内容的提问来源于stack exchange,提问作者Frank
相关产品推荐
相关产品推荐

