如何根据特定日期获取最后修改的文件并导入python脚本[重复]

Posted

技术标签:

【中文标题】如何根据特定日期获取最后修改的文件并导入python脚本[重复]【英文标题】:How to get the last modified file based on a specific date and import to python script [duplicate] 【发布时间】:2021-09-17 10:21:34 【问题描述】:

我有一个存储在我的数据文件夹中的文件列表。我可以得到list_of_files

list_of_files = glob.glob(r'C:\Users\Desktop\Data\*.csv')

我想使用 pandas 在某个特定日期(例如 2021 年 5 月 31 日)读取最后修改的文件。 2021 年 5 月 31 日,可能有多个文件被修改,我需要最后修改的一个 latest_file,然后像这样导入 python 脚本:

df = pd.read_csv(latest_file, usecols=['A', 'B', 'C'])

我怎样才能意识到这一点?非常感谢

(前一部分的任何解决方案都会很棒。如果您可以将修改后的日期设置为某个月份的最后一天,例如 04/30/2021、05/31/2021、6/30,那就更好了/2021 等)

【问题讨论】:

this 有帮助吗? 不一样。我不需要修改日期。我需要文件 并且它不是最后一次根据系统时间修改的。我需要基于特定日期的最后修改 【参考方案1】:

我要感谢 Umar.H 通过电话帮助我解决这个问题。我在下面附上了我的代码:

def get_latest_file(datetime: str, location: str) -> str:
    files = Path(location).glob('*.csv')

    file_df = pd.DataFrame('path': files)

    file_df['mdate'] = pd.to_datetime(file_df['path'].apply(lambda x: x.stat().st_mtime), unit='s')

    try:
        idx = file_df.loc[
            (file_df['mdate'] >= pd.Timestamp(datetime))
            &
            (file_df['mdate'] < (pd.Timestamp(datetime)
                                 + pd.DateOffset(hours=23, minutes=59))
             )]['mdate'].idxmax()

        print(f"Returning file file_df.loc[idx]['path'].stem with a modify time of file_df.loc[idx]['mdate']")
        return file_df.loc[idx]['path']
    except (KeyError, FileNotFoundError):
        return ("No file matched the time delta.")


df4 = pd.read_csv(get_latest_file('28 May 2021', r'C:\Users\...\Desktop'])

【讨论】:

以上是关于如何根据特定日期获取最后修改的文件并导入python脚本[重复]的主要内容,如果未能解决你的问题,请参考以下文章

检查文件系统上文件的修改日期并获取最新文件

unity导入包文件修改日期

如何在文件系统中获取最后修改的日期和时间?

如何根据ios中的特定键从数组中获取字典

在Java中获取文件的最后修改日期

如何在java中获取目录的最后修改日期和时间