簡體   English   中英

使用 python 找到最近日期的 csv

[英]Using python to find the csv with most recent date

我使用答案來獲取目錄中的文件列表,如下所示:

['name1_2020-06-25.csv','name1_2020-06-24.csv','name1_2020-06-23.csv','name1_2020-06-22.csv','name_2_2020-06-25.csv','name_2_2020-06-24.csv','name_2_2020-06-23.csv','name_2_2020-06-22.csv']

我想找到一種方法來選擇具有最近日期的name1文件。

首先,您可以使用字符串方法startswith()此處的文檔)來挑選出具有正確名稱的那些。 您不需要正則表達式,因為名稱在開頭。

然后,由於日期的結構很好地為 YYYY-MM-DD,因此您可以使用sort()sorted()此處的文檔)對結果列表進行排序以獲得最新日期。

像這樣的東西:

def find_most_recent(file_list, prefix):
    s_list = sorted([fname for fname in file_list if fname.startswith(prefix)])
    return s_list[-1]

這使用帶有if子句的列表推導( 此處的文檔)來創建一個新列表,該列表被過濾為僅以傳入前綴開頭的文件名。 然后將該列表通過傳遞給sorted()進行排序。

我沒有為反轉排序而煩惱,因為選擇列表中的最后一個條目同樣容易(使用 s_list 上的 -1 索引),但如果你想使用選項reverse=True on sorted()也可以sorted()

請注意,如果前綴/名稱也可能是另一個有效名稱的 substring,則startswith()在這里會出現問題,但您指出這不是問題,因此對於此用例可以忽略它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM