gershwin.pages.dev

Como criar um script Python para gerar calendário a partir de datas?

Automatizar a geração de calendários a partir de datas específicas pode economizar horas de trabalho manual e evitar erros. Com um script Python, você pode transformar uma lista de datas em um calendário completo e personalizado em segundos.

Pré-requisitos

Passo 1: Importar as bibliotecas necessárias

Para manipular datas e gerar calendários, precisaremos das bibliotecas datetime e calendar, que já vêm com o Python.

import datetime
import calendar

Passo 2: Definir a função para gerar o calendário

Crie uma função que receba uma data e retorne um calendário formatado para aquele mês.

def gerar_calendario(ano, mes):
    # Criar o calendário
    cal = calendar.TextCalendar(calendar.SUNDAY)
    # Gerar o calendário para o mês e ano especificados
    calendario = cal.formatmonth(ano, mes)
    return calendario

Passo 3: Criar uma função para processar múltiplas datas

Para gerar calendários a partir de uma lista de datas, crie uma função que itere sobre as datas e chame a função anterior.

def gerar_calendarios_a_partir_de_datas(lista_datas):
    calendarios = []
    for data_str in lista_datas:
        # Converter string para objeto datetime
        data = datetime.datetime.strptime(data_str, "%Y-%m-%d")
        # Gerar calendário para o mês da data
        calendario = gerar_calendario(data.year, data.month)
        calendarios.append({
            "data": data_str,
            "calendario": calendario
        })
    return calendarios

Passo 4: Executar o script com uma lista de datas

Agora, teste o script com uma lista de datas de exemplo.

if __name__ == "__main__":
    # Lista de datas de exemplo
    datas = ["2024-05-15", "2024-12-25", "2023-01-01"]
    # Gerar calendários
    result = gerar_calendarios_a_partir_de_datas(datas)
    # Imprimir resultados
    for item in result:
        print(f"Data: {item['data']}")
        print(item['calendario'])
        print("-" * 30)

Exemplo Prático

Entrada (Data) Saída (Calendário)
2024-05-15
Maio 2024
dom seg ter qua qui sex sab
          1   2   3   4   5
 6   7   8   9  10  11  12
13  14  15  16  17  18  19
20  21  22  23  24  25  26
27  28  29  30  31
                
2024-12-25
Dezembro 2024
dom seg ter qua qui sex sab
    1   2   3   4   5   6
 7   8   9  10  11  12  13
14  15  16  17  18  19  20
21  22  23  24  25  26  27
28  29  30  31
                

Conclusão

Com este script Python, você pode gerar calendários completos a partir de qualquer lista de datas em segundos. A automação elimina a necessidade de criar calendários manualmente, garantindo precisão e economizando tempo valioso no seu dia a dia.