본문 바로가기
Programing/Toy Project

엑셀 파일 요약

by yooom 2023. 6. 2.
import pandas as pd
import openpyxl
from openpyxl.styles.fonts import Font

try:
    for a in range(1,4):
        for b in range(1,13):
            df1 = pd.read_excel('출석부/원생출석부 202'+str(a)+'년 '+str(b)+'월.xlsx')
            df1 = df1.fillna(0)
            day = []
            names=[]
            walker =['박희수','이유수','정은지','웬하늘','박철현','정다은']

            for i in range(3,len(df1),2):
                names.append(df1.iat[i,1])
            for i in range (31):
                day.append(i+1)

            df_form = pd.DataFrame(index=names, columns=day) 

            for f in range(3,len(df1),2):
                for j in range(3,34):
                    if df1.iat[f,j] == '-':
                        df_form.iat[int((f-3)/2),j-3] = '공 결'
                    elif df1.iat[f,j] == 0:
                        df_form.iat[int((f-3)/2),j-3] = ' '
                    elif df1.iat[f,j] != '-' and df1.iat[f,j] != 0 and df_form.index[int((f-3)/2)] in walker:
                        df_form.iat[int((f-3)/2),j-3] = '도보 귀가'
                    elif df1.iat[f,j] != '-' and df1.iat[f,j] != 0 and df_form.index[int((f-3)/2)] == '석민경':
                        df_form.iat[int((f-3)/2),j-3] = '부친과 귀가'
                    elif df1.iat[f,j] == '인정':
                        df_form.iat[int((f-3)/2),j-3] = '인정'
                    elif df1.iat[f,j] == '입소':
                        df_form.iat[int((f-3)/2),j-3] = '입소'
                    elif df1.iat[f,j] == '퇴소':
                        df_form.iat[int((f-3)/2),j-3] = '퇴소'
                    else:
                        df_form.iat[int((f-3)/2),j-3] = '센터 차량 이용'

                df_form.to_excel(excel_writer='출석부/추출/원생출석부 202'+str(a)+'년 '+str(b)+'월 추출본.xlsx')
except: FileNotFoundError

try:
    for a in range(1,4):
        for b in range(1,13):
            wb = openpyxl.load_workbook('출석부/추출/원생출석부 202'+str(a)+'년 '+str(b)+'월 추출본.xlsx')
            ws = wb.active
            col_max = ws.max_column
            row_max = ws.max_row

            for row_ in range(2,row_max+1):
                for col_ in range(2,col_max+1):
                    ws.cell(row_, col_).font = Font(name='함초롱 바탕', size=10, bold=False,)
            wb.save('출석부/추출/원생출석부 202'+str(a)+'년 '+str(b)+'월 추출본.xlsx')
            
except: FileNotFoundError
    
print('완료')

 

 

728x90

댓글