繁体   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