我有一个用于导出一些原始数据的python脚本。我的目标是将历史数据导出到今天。这是一段代码:
delta = 0
while True:
from_date = datetime.datetime.strptime('2018-03-25', '%Y-%m-%d') + datetime.timedelta(days=delta)
data_date = from_date.strftime('%Y-%m-%d')
if from_date == datetime.date.today():
break
delta += 1
我遇到的问题是,今天的循环并没有中断。知道怎么解决吗?或者使用类似方法获取数据的任何其他方式?
答案 0 :(得分:1)
您的中断条件永远不会成为现实,因为您将日期时间对象与日期对象进行比较。
使用date()
方法从datetime获取日期
if from_date.date() == datetime.date.today():
break
答案 1 :(得分:0)
您还可以将from_date
的定义更改为date
对象并且它会起作用,但这需要数字而不是string
:
delta = 0
while True:
from_date = datetime.date(2018,3,25) + datetime.timedelta(days=delta)
data_date = from_date.strftime('%Y-%m-%d')
if from_date == datetime.date.today():
break
delta += 1
使用此功能,您还可以将data_date
定义更改为:
data_date = str(from_date)