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

如何获取目录内最新2个csv路径以创建Pandas DataFrame

获取目录下最新2个CSV文件路径的实现方案

你原有代码仅能获取1个文件的原因是:max() 函数仅会返回迭代对象中的单个最大值,无法同时拿到多个排序后的结果。

你可以通过sorted()对目录下所有CSV文件按修改时间倒序排列,直接通过下标获取最新的两个文件,参考实现如下:

from pathlib import Path
import pandas as pd

# 替换为你的CSV文件存放目录
csv_root = Path("/home/user/some_folder/")

# 筛选所有csv文件,按修改时间倒序排序,最新文件排在列表首位
sorted_csv = sorted(
    csv_root.glob("*.csv"),
    key=lambda file: file.stat().st_mtime,
    reverse=True
)

# 提前校验文件数量,避免索引报错
if len(sorted_csv) < 2:
    raise Exception(f"当前目录下仅找到{len(sorted_csv)}个CSV文件,至少需要2个才可执行合并")

# 按需求分配左右df路径,当前配置为次新文件作为左df、最新文件作为右df,可自行调整下标顺序
left_path = sorted_csv[1]
right_path = sorted_csv[0]

# 后续读取、合并、清洗逻辑和你原有逻辑一致即可
df_left = pd.read_csv(left_path)
df_right = pd.read_csv(right_path)

补充说明

  • 如果你需要按文件创建时间排序,可将排序规则中的st_mtime替换为st_ctime,注意st_ctime在部分Unix系统中表示的是文件属性变更时间,新增文件的st_mtime和创建时间一致,兼容性更好
  • 如果你是从两个独立目录分别取最新的1个文件作为左右df,只需要对两个目录分别执行上述排序逻辑,取每个目录排序后的下标[0]的文件即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 08:57:04