В этом Вопросе есть две части, которые я все еще изучаю.
date_list = pd.date_range(2019-09-24, 2019-09-26)
вернет объект
DatetimeIndex ( ['2019-09-24', '2019-09-25'] , dtype ='datetime64 [ns]', freq = 'D')
Однако я просто хотел, чтобы список в формате, который он возвращает, показан выше. Я попытался добавить .tolist () , но затем возвращает метки времени в списке, например.
Отметка времени ('2019-09-24 00:00:00', freq = 'D')
Затем я использовал .date который, кажется, работает
print(date_list[0])
2019-09-24
Это лучший метод для использования?
Затем я пришел к тестированию, я понимаю, что этот тест может быть ненужным, но с целью изучения:
def datetimeindex(dates):
start = dates['from_date']
end = dates['to_date']
date_list = pd.date_range(start, end).date
print(date_list[0])
return date_list[0]
def test_datetimeindex(self):
dates = {"from_date": "2019-09-24",
"to_date": "2019-09-27"}
actual = datetimeindex(dates)
expected = "2019-09-24"
self.assertEqual(expected, actual)
Я получаю эту ошибку:
AssertionError: '2019-09-24 '! = Datetime.date (2019, 9, 24)
Почему печать отличается от обратной? Если я передам это другому методу, что он на самом деле передаст, 2019-09-24 или datetime.date (2019, 9, 24)?
Я не могу утверждать против datetime.date (2019, 9, 24) , поскольку это не строка, поэтому не знаете, что делать?
Спасибо
РЕДАКТИРОВАТЬ: Это вернуло то, что я хотел. который напомнил мне, что print () всегда является строкой, так что имеет смысл.
return str(date_list[0])