본문 바로가기
아래아한글 자동화/python+hwp 중급

[QnA] 엑셀의 날짜 칼럼을 한/글로 옮길 때 서식 정하는 방법

by 일코 2022. 12. 28.
반응형
좋은 영상 감사 합니다

몇일 걸려 겨우 겨우 한글, 엑셀 불러와 마지막 필드 값 채우는 데 성공 했습니다

한글에서 날짜가 26 Sep. 2022 이렇게 표현되게 하고 싶어 엑셀에 미국식 표기법으로 만들었는데 한글에 입력된것은 2022-09-27 00:00:00 + 00:00
이렇게 나옵니다. 도움 부탁 드립니다.

제 유튜브 영상에 달아주신 댓글 중 하나입니다.

이 문제를 해결하려면 파이썬의 datetime 모듈을 사용하는 방법이 가장 간편합니다.

우선 아래와 같이 파이썬으로 엑셀과 한글을 같이 열어주고

import win32com.client as win32


def insert_text(text):
    act = hwp.CreateAction("InsertText")
    pset = act.CreateSet()
    pset.SetItem("Text", text)
    act.Execute(pset)


hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject")
hwp.XHwpWindows.Item(0).Visible = True
hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule")

excel = win32.gencache.EnsureDispatch("Excel.Application")
wb = excel.Workbooks.Add()
ws = wb.Worksheets(1)

엑셀에는 A1 셀에 오늘 날짜를 기입해 둡니다.

이제 아래와 같이 엑셀의 날짜 값을 한/글에 삽입하면(insert_text 함수를 정의해 두었음)

이상하게도 다음과 같은 값이 입력되어버립니다.

2022-12-28 00:00:00+00:00

 

사실 엑셀에서 추출한 저 날짜값은 wintypes.datetime 자료형으로,

파이썬의 datetime과 호환이 되기 때문에

다행히 간단한 메서드를 통해

원하는 포맷으로 변경할 수 있습니다.

단, 엑셀이 아니라 파이썬 단에서 변경해야 하죠.

datetime의 포맷은 공식문서나 인터넷 블로그를 찾아보시면 많이 있겠지만

아래 포스팅에서도 잘 설명해주고 있네요.

Python DateTime Format - Python Examples

 

Python DateTime Format - Python Examples

Python DateTime Format You can format a date string using datetime Python package. datetime package provides directives to access a specific part of date, time or datetime object of datetime package. First, we will present you all the directives (or wildca

pythonexamples.org

 

이 사이트를 참고하면

우리가 원하는 포맷은 "%d %b. %Y"라는 걸 알 수 있습니다.

이렇게 변경하는 메서드는 해당 자료형인 pywintypes.datetime에서 기본제공하고 있습니다.

아래처럼 실행하시면 됩니다.

그럼 이 과정을 거쳐서 한/글에 삽입해봅시다.

의도한 대로 잘 삽입되었습니다.

 

그럼 이번 포스팅은 여기서 마칩니다.

 

반응형

댓글0