작성
·
26
·
수정됨
0
파이썬 초보입니다.
파이썬으로 hwp 파일을 읽어서 특정 문자열을 검색하는 기능을 구현하려고 합니다.
특정 문자열의 위치(행,열)와 그 문자열 주위의 문자열을 보여주는 기능입니다.
그런데 한글은 서식과 표 등이 있어 텍스트 파일 처럼 조작하기가 쉽지 않아 보입니다.
pyhwp 라이브러리는 설치해도 import 해서 사용하면 에러가 자꾸 나고
hwp_extract 라이브러리를 이용해서 해봤는데 정확한 위치가 보여지지 않거나 텍스트만 보여지지 않고 문자열이 깨지는 등 원하는 대로 안 되네요..
win32com 라이브러리를 쓰면 보안창이라는 화면이 뜨더군요, 안 뜨게 하려는데.. 그것도 안 맞아서..
하여튼 만족할 방법이 잘 안 보이네요, 좋은 방법이 있을까요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
야베스님께서 파이썬을 사용하여 .hwp
파일 내 특정 문자열을 검색하고 그 위치를 확인하고 싶으신 것 같습니다. .hwp
파일은 한글(Hancom Office) 문서 포맷으로, 다소 복잡한 구조를 가지고 있어 파이썬을 통한 조작이 쉽지 않을 수 있습니다. 몇 가지 방법을 고려해볼 수 있습니다.
pyhwp 라이브러리: pyhwp를 사용하여 hwp 파일을 다루는 방법이 유용합니다. 하지만 환경에 따라 문제를 일으킬 수 있습니다. 라이브러리의 최신 버전을 설치하고, 설치에 필요한 의존성이 모두 제대로 설치되어 있는지 확인해 보시는 것이 좋습니다. 설치 후에는 다음과 같은 방법으로 파일을 읽어들입니다.
import hwp5
doc = hwp5.Document('yourfile.hwp')
이후에는 doc
객체를 이용하여 내부 내용을 확인할 수 있습니다.
hwp_extract와 다른 라이브러리: 위치 정보를 정확히 얻기 위해 hwp_extract
와 같은 라이브러리를 다양하게 조합하여 사용해 볼 수 있습니다. 결과가 깨지지 않도록 encoding 문제를 확인하거나, 특정 모듈을 업데이트하여 시도해 보세요.
win32com 사용: 자동화의 경우, 한글 프로그램의 COM 인터페이스를 사용하여 win32com을 활용할 수 있습니다. 파이썬 스크립트에서 한글 프로그램을 자동화할 수 있지만, 보안창 문제를 해결하기 위해서는 프로그램의 설정을 변경해야 할 수도 있습니다.
OCR 및 다른 방법: 파일 구조 변경 없이 화면에서 직접 텍스트를 인식해 처리하는 방법도 있습니다. 이 경우에는 OCR (Optical Character Recognition) 기술을 사용할 수 있습니다.
각 방법의 장단점이 있어, 자신에게 맞는 방법을 시도해 보는 것이 좋습니다. pyhwp와 관련된 오류가 지속된다면, 공식 저장소나 사용자 커뮤니티 포럼에서 유사한 문제와 해결 방안을 찾을 수 있을 것입니다.
Pyhwp 공식 저장소: pyhwp GitHub
도움이 되었길 바랍니다. 계속해서 궁금한 점 있으시면 언제든지 문의 주세요!
참고해서 방법을 찾아보겠습니다. 감사합니다.