You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中读取含指定文本(如日期)的Excel文件?

读取带时间戳Excel文件的实用方法

1. 是不是必须输入完整文件名?

不是必须。如果Excel文件和你的Python脚本在同一文件夹里,只写文件名(带后缀)即可;如果不在同一目录,就得写相对路径或者绝对路径。但像你遇到的这种文件名带动态时间戳的情况,硬写完整文件名完全没必要,通过匹配特定文本就能自动定位文件。

2. 如何读取包含特定文本(比如日期)的文件?

当然可以,用Python的glob或os模块就能实现,不用手动修改文件名。下面是两种常用方法:

方法一:用glob模块(简洁直观)

glob专门用来匹配文件路径,适合快速筛选包含指定字符的文件:

import pandas as pd
import glob

# 匹配当前目录下包含"2-23-2023"的xlsx文件
matched_files = glob.glob('*2-23-2023*.xlsx')

if matched_files:
    # 取第一个匹配到的文件(如果只有一个目标文件的话)
    df = pd.read_excel(matched_files[0])
else:
    print("未找到符合条件的Excel文件")

方法二:用os模块(更灵活,适合复杂筛选)

遍历文件夹里的所有文件,判断文件名是否包含目标文本且是Excel格式:

import pandas as pd
import os

target_text = "2-23-2023"  # 你要匹配的特定文本
folder_path = "."  # 当前目录,可替换成实际文件夹路径

for filename in os.listdir(folder_path):
    if target_text in filename and filename.endswith('.xlsx'):
        # 拼接完整路径并读取
        df = pd.read_excel(os.path.join(folder_path, filename))
        break
else:
    print("未找到符合条件的Excel文件")

进阶:取最新修改的文件

如果同一目录下有多个符合条件的文件,可按修改时间排序,取最新的那个:

import pandas as pd
import os

target_text = "2-23-2023"
folder_path = "."

# 筛选出所有符合条件的文件
matched_files = [
    os.path.join(folder_path, f) 
    for f in os.listdir(folder_path) 
    if target_text in f and f.endswith('.xlsx')
]

if matched_files:
    # 按文件修改时间倒序排序,最新的排在最前面
    matched_files.sort(key=lambda x: os.path.getmtime(x), reverse=True)
    latest_file = matched_files[0]
    df = pd.read_excel(latest_file)
else:
    print("未找到符合条件的Excel文件")

内容的提问来源于stack exchange,提问作者lafrankmuraglia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 01:39:39