Crear una lista de rango de fechas en Python
- Usando pandas para crear una lista de rango de fechas en Python
- Crear la lista de rango de fechas manualmente en Python
Presentaremos algunos métodos para generar una lista de un rango de fechas. Una forma de hacerlo es utilizar la biblioteca pandas
. Pandas tiene apoyo directo para lograr la tarea. La otra forma es diseñar tu propia lógica manualmente usando for loop para generar las fechas.
Veremos algunos ejemplos, como crear la lista de un rango de fechas ingresando la fecha de inicio y k días después de eso o podemos ingresar la fecha de inicio y la fecha de finalización.
Usando pandas para crear una lista de rango de fechas en Python
Usaremos la función date_range()
de pandas en la que pasaremos la fecha de inicio y el número de días posteriores (conocidos como periodos). Aquí también hemos utilizado la biblioteca datetime
para formatear la fecha de modo que podamos generar la fecha en este formato DD-MM-YY
. También podemos definir una marca de tiempo junto con la fecha.
Códigos de ejemplo:
En este ejemplo, estamos pasando la fecha de inicio
en el formato de DD-MM-YY
y puntos. Entonces, en la salida, podemos ver la lista de un rango de días a partir de la fecha de inicio y la cantidad de periods
después de eso.
# 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"))
Producción :
Index(['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021'], dtype='object')
Ahora veremos otro ejemplo en el que pasaremos la fecha de inicio
y la fecha de finalización
. El programa generará el rango de fechas entre estas dos fechas.
# 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"))
Producción :
Index(['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021',
'06-12-2021', '07-12-2021'],
dtype='object')
Crear la lista de rango de fechas manualmente en Python
Con la ayuda del bucle for
y timedelta()
, podemos generar la lista manualmente. timedelta()
es una función definida en la biblioteca datetime
. Aquí delta significa diferencia. Con su ayuda, podemos sumar o restar delta con una fecha para obtener la fecha siguiente o anterior, respectivamente. Digamos que tenemos una fecha 01-12-2021. Ahora, si le sumamos 1, nuestra fecha sería 12-02-2021. Usaremos esa lógica en el bucle for. Se itera el bucle for, y agregaremos la variable con la fecha de inicio para obtener la siguiente fecha, y luego agregaremos la fecha generada actualmente a nuestra lista hasta que obtengamos nuestro rango de fechas completo.
Código de ejemplo:
# 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)
Producción :
['2021-12-10', '2021-12-11', '2021-12-12', '2021-12-13', '2021-12-14']
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