Hodustory/프로그래밍&DB

파이썬/python datetime (openpyxl)

호두밥 2019. 5. 14. 15:21

안녕하세요. datetime 라이브러리는 데이터를 다루는데 엄청 자주 쓰이는 시간 형식을 다루는 라이브러리입니다.

 

from openpyxl import load_workbook
from openpyxl import Workbook
import datetime

#엑셀파일 불러오기
filename='sample.xlsx'
wb = load_workbook(filename)
ws = wb.active

#범위 이동
ws['A1'] = datetime.datetime(2019,3,4) #yyyy-mm-dd hh:mm:ss
ws['A2'] = datetime.date(2019,3,4) #yyyy-mm-dd
ws['A3'] = datetime.date(2019,3,4).year #yyyy
ws['A4'] = datetime.date(2019,3,4).month #mm
ws['A5'] = datetime.date(2019,3,4).day #dd
ws['A6'] = datetime.date(2019,3,4).weekday() #요일
ws['A7'] = datetime.date(2019,3,4).strftime("%Y년 %m월 %d일".encode('unicode-escape').decode()).encode().decode('unicode-escape') #년월일

#저장하기
wb.save(filename)



 

weekday() : 요일 

 

weekday() 함수는 날짜의 요일 값을 숫자로 반환합니다. 0은 월요일, 1은 화요일, 2는 수요일, 3은 목요일, 4는 금요일, 5는 토요일 6은 일요일을 의미하죠. 

datetime.date(2019,3,4).weekday()

 

strftime() : 문자열

 

strfttime() 함수는 '년월일', '2018-12-31'과 같이 문자열을 넣어 날짜를 반환하는 함수입니다. 다만 한글을 입력했을 때, 인코딩 문제가 발생합니다. 그래서 디코딩과 인코딩을 반복해주어야 하기 때문에 코드가 약간 복잡해집니다.

datetime.date(2019,3,4).strftime("%Y년 %m월 %d일".encode('unicode-escape').decode()).encode().decode('unicode-escape') #년월일
문자열 의미
%y yyyy (4자리 연도)
%m mm (두자리 월)
%d dd (두자리 일)
%H hh (두자리 시)
%M mm (두자리 분)
%S ss (두자리 초)
%A 영어 요일 ex)Monday
%B 영어 월 ex)March

 

 

 

반응형