我正在尝试创建要添加到数据框的日期列表。
该列表包含一个开始日期(该数据框最后一次更新),直到今天为止。
我的代码如下:
from datetime import datetime
from datetime import timedelta
# get today's date
todays_date = datetime.now()
# read in last date acquired
last_date = old_df['Market Date'].iloc[-1]
last_date以str
格式开始:
print(last_date)
2019-01-12
然后我更改为日期时间:
last_date = datetime.strptime(last_date, '%Y-%M-%d')
# get difference in dates from now since the last update
numdays = todays_date - last_date
days = int(numdays / timedelta(days=1))
date_list = [todays_date - last_date.timedelta(days=x) for x in range(0, days)]
date_list = [i.strftime('%Y%m%d') for i in date_list]
我得到了错误:
File "<ipython-input-64-29fe97665970>", line 35, in <listcomp>
date_list = [todays_date - last_date.timedelta(days=x) for x in range(0, days)]
AttributeError: 'datetime.datetime' object has no attribute 'timedelta'
last_date
的格式是,是日期时间,所以我不确定为什么会出现此错误。
答案 0 :(得分:2)
timedelta()
是datetime.datetime
模块中的功能。
但是您尝试将其作为datetime.datetime
对象的属性来访问。
todays_date - timedelta(days=x)
应该可以正常工作。