🗓️ Как сделать список дат на Python: пошаговое руководство для начинающих
Чтобы создать список дат в Python, можно воспользоваться модулем datetime.
from datetime import date, timedelta
start_date = date(2022, 1, 1)
end_date = date(2022, 1, 31)
dates_list = []
current_date = start_date
while current_date <= end_date:
dates_list.append(current_date)
current_date += timedelta(days=1)
print(dates_list)
В этом примере создается начальная и конечная дата, и затем с помощью цикла while и функции timedelta добаляются дни к текущей дате, пока она не достигнет конечной даты. Каждая дата добавляется в список dates_list. В конце выводится список всех дат.
Детальный ответ
Как сделать список дат в Python
Создание списка дат в Python может быть полезным во многих сценариях программирования. Несколько способов создания списка дат представлены ниже с примерами кода.
1. Создание списка дат с использованием функции range()
import datetime
start_date = datetime.datetime(2022, 1, 1)
end_date = datetime.datetime(2022, 1, 31)
date_list = [start_date + datetime.timedelta(days=x) for x in range((end_date - start_date).days + 1)]
print(date_list)
В этом примере мы используем функцию range() для генерации последовательности чисел от 0 до количества дней между начальной и конечной датами. Затем мы добавляем каждое число к начальной дате с помощью функции datetime.timedelta() и сохраняем полученные даты в список date_list. Наконец, мы выводим список дат на экран.
2. Создание списка дат с использованием генератора списка
import datetime
start_date = datetime.datetime(2022, 1, 1)
end_date = datetime.datetime(2022, 1, 31)
date_list = [start_date + datetime.timedelta(days=x) for x in range((end_date - start_date).days + 1)]
print(date_list)
В этом примере мы используем генератор списка для создания списка дат. Мы выполняем те же шаги, что и в предыдущем примере, но используем квадратные скобки [] и выражение для генерации списка. Результат остается тем же - список дат от начальной до конечной даты.
3. Создание списка дат с использованием библиотеки pandas
import pandas as pd
start_date = '2022-01-01'
end_date = '2022-01-31'
date_range = pd.date_range(start=start_date, end=end_date)
date_list = date_range.to_list()
print(date_list)
В этом примере мы используем библиотеку pandas для создания списка дат. Мы задаем начальную и конечную даты в формате строки и используем функцию pd.date_range() для создания диапазона дат между ними. Затем мы преобразуем этот диапазон в список с помощью метода to_list(). Наконец, мы выводим полученный список дат на экран.
4. Создание списка дат с использованием библиотеки dateutil
from dateutil.rrule import rrule, DAILY
from datetime import datetime
start_date = datetime(2022, 1, 1)
end_date = datetime(2022, 1, 31)
date_list = list(rrule(DAILY, dtstart=start_date, until=end_date))
print(date_list)
В этом примере мы используем библиотеку dateutil для создания списка дат. Мы задаем начальную и конечную даты в формате datetime и используем функцию rrule() для генерации дат в указанном диапазоне с определенной частотой (в данном случае ежедневно). Затем мы преобразуем полученный генератор в список с помощью функции list(). Наконец, мы выводим список дат на экран.
Теперь у вас есть несколько способов создания списка дат в Python. Вы можете выбрать тот, который подходит вам лучше в зависимости от ваших нужд и предпочтений.