簡體   English   中英

從 python 的列表中檢索數據時進行查詢

[英]queries while retrieving data from list in python

我在 python 中有一個列表,其中包含以下數據。 每個數據代表一個表名

[tablename_20211011,tablename_20201010,tablename_20211009,tablename_20211009,tablename_20211008]

20211011 - 這是創建表的日期,我如何獲取在過去 1 年 python 中創建的表名。

如果 crteria 為 1 年,則結果應為 tablename_20211011,tablename_20211009, tablename_20211008,tablename_20211009

!!!作品!!! 在這里你不需要手動提及去年的日期它會自動完成這項工作

from datetime import date
(datetime.datetime.now() - datetime.timedelta(days=365)).strftime("%Y%m%d")
d1 = today.strftime("%Y%m%d")
#this gives you date of last year

[x for x in a if x[:-8]>=d1]

這將返回給定日期之后的項目

假設您的文件名的最后 8 個字符始終是日期(即YYYYMMDD格式),您可以只使用:

files = ['tablename_20211011', 'tablename_20201010', 'tablename_20211009', 'tablename_20211009', 'tablename_20211008']

print ([x for x in files if x[-8:] >= '20210101'])

只需根據需要將日期字符串設置在>=符號的右側。

如果日期並不總是字符串的最后 8 個字符,那么您可能需要使用正則表達式 (regex) 方法來提取它。

暫無
暫無

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

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