Проблема с datetime 'У объекта нет атрибута timedelta` Расчет Python - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь создать список дат для добавления в информационный фрейм.

Список содержит дату начала (последний раз, когда информационный фрейм обновлялся) до сегодняшней даты.

Мой код выглядит так:

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

Затем я изменяю на datetime:

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 в - datetime, поэтому я не уверен, почему я получаю эту ошибку.

1 Ответ

0 голосов
/ 04 февраля 2019

timedelta() - это функция в модуле datetime.datetime.

Но вы пытаетесь получить к нему доступ как к атрибуту из datetime.datetime объектов.

todays_date - timedelta(days=x) должно работать просто отлично.

...