반응형
좋은 영상 감사 합니다
몇일 걸려 겨우 겨우 한글, 엑셀 불러와 마지막 필드 값 채우는 데 성공 했습니다
한글에서 날짜가 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
이 사이트를 참고하면
우리가 원하는 포맷은 "%d %b. %Y"라는 걸 알 수 있습니다.
이렇게 변경하는 메서드는 해당 자료형인 pywintypes.datetime에서 기본제공하고 있습니다.
아래처럼 실행하시면 됩니다.
그럼 이 과정을 거쳐서 한/글에 삽입해봅시다.
의도한 대로 잘 삽입되었습니다.
그럼 이번 포스팅은 여기서 마칩니다.
국내 유일의 파이썬+한컴오피스 업무자동화 입문강의
반응형
'아래아한글 자동화 > python+hwp 중급' 카테고리의 다른 글
[QnA] 문서 자동교정 프로그램 만들기 (20) | 2023.01.13 |
---|---|
현재 조판부호가 보이는 상태인지 확인하는 함수 만들기 (2) | 2022.12.27 |
모든 날짜 문자열 끝에 요일 붙이기 (1) | 2022.12.20 |
댓글