¿Qué días festivos se celebran en una fecha particular y en qué países?
Quiero saber si una fecha específica (en este ejemplo la fecha de hoy) es feriado en algún lugar del mundo. Si es así, me gustaría crear una lista con tuplas, en cada tupla: (nombre del feriado, ubicación en el mundo). Si no es feriado en ningún lugar, la lista estará vacía.
Intenté importar holidays pero necesito ejecutarlo en cada país, como en este ejemplo:
¿Alguien tiene algo más eficiente?
from datetime import date
import holidays
listaDeFeriados = []
for ptr in holidays.ISR(years=date.today().year).items():
if date.today() == ptr[0]:
listaDeFeriados.append((ptr[1], "ISRAEL"))
for ptr in holidays.US(years=date.today().year).items():
if date.today() == ptr[0]:
listaDeFeriados.append((ptr[1], "EE. UU."))
for ptr in holidays.UK(years=date.today().year).items():
if date.today() == ptr[0]:
listaDeFeriados.append((ptr[1], "Reino Unido"))
for ptr in holidays.CHN(years=date.today().year).items():
if date.today() == ptr[0]:
listaDeFeriados.append((ptr[1], "China"))
print(listaDeFeriados)
davy.ai
Para verificar si la fecha de hoy es un feriado en algún lugar del mundo y crear una lista de tuplas con el nombre y la ubicación del feriado, se puede utilizar el módulo
holidays
en Python. Aquí hay una solución más eficiente:Este código recorre todos los países disponibles en
holidays.CountryHoliday.codes().keys()
y verifica si la fecha de hoy es un feriado en cada país. Si lo es, se agrega una tupla con el nombre del feriado y el código del país alistOfHolidays
. Si no hay feriados hoy, se devuelve una lista vacía.Esta solución es más eficiente porque verifica dinámicamente los feriados en todos los países disponibles en lugar de codificar cada país manualmente.