파이썬 2021년 달력 자동 제작

목적:


달력을 작성합니다.

배경:


시스템 매뉴얼을 사용하지만 반사경의 크기(82mmW×140mmL)가 특수해 구하기 어렵고 가격도 비싸 직접 만들려고 했던 것은 지나간 일이지만 그때는 특수 제작한 리메이크 페이퍼로 만들었는데 백지가 남아있어 내년이면오랜만에 직접 해보려고요.1년에 한 번 하는 일이라 직접 해도 되지만, 모처럼 프로그래밍 환경이 있어 매년 달력을 자동으로 출력할 수 있는 구조를 만들어 보자.이런 이유로 프로그래밍을 해 봤어요.

인쇄:


워드프로세서 소프트웨어의 메일 통합 기능을 사용하다.따라서 메일 통합에 사용되는 달력 데이터를 만들 수 있다.메일 병합을 위한 템플릿은 다음 그림과 같이 한 달이 걸려야 열 수 있는 템플릿입니다.

데이터:


한 달은 기록이기 때문에 아래 그림과 같은 달력 데이터베이스가 있으면 메일 통합에 사용할 수 있다.이번에는python으로 이 표를 만들어 보려고 합니다.

코드는 다음과 같다.
monthly_calendar.py
import pandas as pd
import numpy as np
import calendar as cl
import os

"""
とりあえずの完成版
"""

file='f.csv'
fout=open(file,'w',encoding="utf_8")

# 作成する年
YEAR=2021

"""
while loop でデータを作成する
m--> month
D--> date
out --> ここにデータをためていく
"""

m=1
out=""
while m < 13:
  MR=cl.monthrange(YEAR,m)
  out=("{0},".format(cl.month_name[m]))

  D=0
  while D < 37:
    while D < MR[0]:
      out+=("*,")
      D+=1
    if D < MR[1]+MR[0]:
      out+=("{0},".format(str(D-MR[0]+1)))
      D+=1
    else:
      out+=("*,")
      D+=1
  out=out[:-1]
  out='{0}\n'.format(out)
  print(out)
  fout.write(out)
  m+=1

fout.close()

body_df=pd.read_csv('f.csv',index_col=0,
                    names=['D0','D1','D2','D3','D4','D5','D6','D7','D8','D9','D10',
                           'D11','D12','D13','D14','D15','D16','D17','D18','D19','D20',
                           'D21','D22','D23','D24','D25','D26','D27','D28','D29','D30',
                           'D31','D32','D33','D34','D35' ,'D36'])
print(body_df)

body_df.to_csv('f_out.csv')
os.remove('f.csv')
데이터베이스의 index 헤더에'Month'가 있거나 휴일에 수동으로 입력하거나 기능을 개선하거나 추가합니다.만약 네가 원한다면 손을 손에 놓아라.

좋은 웹페이지 즐겨찾기