Créer une liste de plages de dates en Python

Fariba Laiq 10 octobre 2023
  1. Utilisation de Pandas pour créer une liste de plages de dates en Python
  2. Créer manuellement la liste des plages de dates en Python
Créer une liste de plages de dates en Python

Nous présenterons quelques méthodes pour générer une liste d’une plage de dates. Une façon de le faire est d’utiliser la bibliothèque pandas. Pandas a un soutien direct pour accomplir la tâche. L’autre méthode consiste à concevoir manuellement votre propre logique en utilisant la boucle for pour générer les dates.

Nous examinerons quelques exemples comme la création de la liste d’une plage de dates par date de début d’entrée et k jours après cela ou nous pouvons entrer la date de début et la date de fin.

Utilisation de Pandas pour créer une liste de plages de dates en Python

Nous allons utiliser la fonction date_range() de pandas dans laquelle nous passerons la date de début et le nombre de jours après (appelés périodes). Ici, nous avons également utilisé la bibliothèque datetime pour formater la date afin que nous puissions afficher la date dans ce format DD-MM-YY. Nous pouvons également définir un horodatage avec la date.

Exemples de codes :

Dans cet exemple, nous passons la date de début au format DD-MM-YY et points. Ainsi, en sortie, nous pouvons voir la liste d’une plage de jours à partir de la date de début et le nombre de periods par la suite.

# python 3.x
import datetime
import pandas as pd

start = datetime.datetime.strptime("01-12-2021", "%d-%m-%Y")
date_generated = pd.date_range(start, periods=5)
print(date_generated.strftime("%d-%m-%Y"))

Production :

Index(['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021'], dtype='object')

Maintenant nous allons regarder un autre exemple dans lequel nous passerons la date de début et la date de fin. Le programme affichera la plage de dates entre ces deux dates.

# python 3.x
import datetime
import pandas as pd

start = datetime.datetime.strptime("01-12-2021", "%d-%m-%Y")
end = datetime.datetime.strptime("07-12-2021", "%d-%m-%Y")
date_generated = pd.date_range(start, end)
print(date_generated.strftime("%d-%m-%Y"))

Production :

Index(['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021',
       '06-12-2021', '07-12-2021'],
      dtype='object')

Créer manuellement la liste des plages de dates en Python

A l’aide de la boucle for et de timedelta(), nous pouvons générer la liste manuellement. timedelta() est une fonction définie dans la bibliothèque datetime. Ici delta signifie différence. Avec son aide, nous pouvons ajouter ou soustraire un delta avec une date pour obtenir respectivement la date suivante ou précédente. Disons que nous avons une date 01-12-2021. Maintenant, si nous y ajoutons 1, notre date serait le 02-12-2021. Nous utiliserons cette logique dans la boucle for. La boucle For est itérée, et nous ajouterons la variable avec la date de début pour obtenir la date suivante, puis nous addons la date actuellement générée à notre liste jusqu’à ce que nous obtenions notre plage de dates complète.

Exemple de code :

# python 3.x
import datetime

start = datetime.date(2021, 12, 10)
periods = 5
daterange = []
for day in range(periods):
    date = (start + datetime.timedelta(days=day)).isoformat()
    daterange.append(date)
print(daterange)

Production :

['2021-12-10', '2021-12-11', '2021-12-12', '2021-12-13', '2021-12-14']
Auteur: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

Article connexe - Python DateTime