例如,我每天下载的文件是Exce20230421l.xlsx或Excel20230421.xls格式
数字为当天的日期甚至日期后还有其他后缀共同组成事实下载的文件名。
但开头的Excel名字不会改变
在知道明确路径和以上条件后,如何利用Python打开这些类似的文件?
可以根据日期判断文件是否存在
import os
import datetime
# 指定要搜索的文件夹路径
folder_path = "X:/excel文件所在的路径/"
# 获取当前日期
today = datetime.date.today()
# 初始化最近日期和最近日期的文件名
recent_date = datetime.date(1900, 1, 1)
recent_filename = ""
# 遍历文件夹中的所有文件
for filename in os.listdir(folder_path):
# 只处理Excel文件
if filename.endswith(".xlsx") or filename.endswith(".xls"):
# 解析日期
try:
# 尝试解析包含'l'后缀的文件名
date_str = filename[5:13]
if filename.endswith("l.xlsx") or filename.endswith("l.xls"):
date_str += "l"
file_date = datetime.datetime.strptime(date_str, "%Y%m%dl").date()
except ValueError:
# 解析不了则尝试解析不包含'l'后缀的文件名
try:
date_str = filename[5:13]
file_date = datetime.datetime.strptime(date_str, "%Y%m%d").date()
except ValueError:
continue # 文件名不是合法日期,跳过此文件
# 检查文件日期是否比当前最近日期还近
if file_date >= recent_date:
recent_date = file_date
recent_filename = filename
# 打印最近日期的文件名
print(recent_filename)
sheet.title 修改表格的名称
from openpyxl import Workbook
workbook = Workbook()
sheet = workbook.active
sheet.title = '表格1'
workbook.save(filename='这是一个新表格.xlsx')
特别注意,这里从openpyxl模块引入的不再是load_workbook方法,而是Workbook方法,上述代码运行后会创建一个名为’这是一个新表格.xlsx’的Excel文件