从一个目录中的 2 个最新的 .csv 在 Pandas 中创建数据框

Creating data frames within Pandas from 2 most recent .csv within a directory

我有一个目录始终附加 .csv 文件(每 30 分钟 1 或 2 个)。

我的 pandas 脚本合并并清理目录中的两个最新的 .csv(当前手动添加两个路径),然后在不同的目录中保存它们差异的 .csv。

但是为了减轻当前的手动过程,我想获取 2 个最新的 csv 的路径并将它们分配给左侧 df 和右侧 df 以进行初始合并?

最好按创建日期对目录进行排序,然后使用最近分配的索引(在本例中为 [0]、[1])

我尝试修改下面的代码片段,但这只会产生最新的 .csv

from pathlib import Path

left_path = '/home/user/some_folder/csv1'
files = Path(left_path).glob('*.csv')
latest_left = max(files, key=lambda f: f.stat().st_mtime)

right_path = '/home/user/some_folder/csv2'
files = Path(right_path).glob('*.csv')
latest_right = max(files, key=lambda f: f.stat().st_mtime)

感谢您的帮助!

试试这个,

import os
from pathlib import Path

paths = sorted(Path('/home/ryan/Data/plan_import_full').iterdir(), key=os.path.getmtime)
file0 = paths[-1] #last file
file1 = paths[-2] #2nd last file

你快到了!

如果您列出目录中的文件,然后按创建时间对这些文件进行排序,您可以访问列表中的最后两个条目:

files = list(Path(path).glob('*.csv'))
files.sort(key=lambda f: f.stat().st_mtime)

csv1 = files[-1]
csv2 = files[-2]