在python中从日期范围中排除列表
我的日期范围为2019年1月20日至2019年1月30日,我有需要从该数据范围中排除的日期列表[]。有人能帮忙吗在python中从日期范围中排除列表,python,pyspark,Python,Pyspark,我的日期范围为2019年1月20日至2019年1月30日,我有需要从该数据范围中排除的日期列表[]。有人能帮忙吗 from datetime import timedelta, date, datetime def daterange(start_date, end_date): for n in range(int ((end_date - start_date).days)): yield start_date + timedelta(n) #Start an
from datetime import timedelta, date, datetime
def daterange(start_date, end_date):
for n in range(int ((end_date - start_date).days)):
yield start_date + timedelta(n)
#Start and End is a range of dates.
start = date(2019, 1, 20)
end = date(2019, 1, 30)
for single_date in daterange(start, end):
print(single_date)
要排除这些日期的列表:
mvv_list[]
print(*mvv_list, sep='\n')
列出结果:
Row(date=datetime.date(2019, 01, 22))
Row(date=datetime.date(2019, 01, 23))
我认为做这件事最简单的方法之一就是只产生不在你的表中的日期。这意味着您必须以如下方式修改生成器:
def daterange(start_date, end_date, exclude):
# where exclude is the list of dates you don't want
for n in range(int ((end_date - start_date).days)):
next_date = start_date + timedelta(n)
if next_date not in exclude:
yield next_date
加入
left\u anti