강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

야베스님의 프로필 이미지
야베스

작성한 질문수

파이썬으로 hwp 파일을 읽어서 특정 문자열을 검색하는 기능을 구현하는 방법이 있을까요?

작성

·

26

·

수정됨

0

파이썬 초보입니다.

파이썬으로 hwp 파일을 읽어서 특정 문자열을 검색하는 기능을 구현하려고 합니다.

특정 문자열의 위치(행,열)와 그 문자열 주위의 문자열을 보여주는 기능입니다.

그런데 한글은 서식과 표 등이 있어 텍스트 파일 처럼 조작하기가 쉽지 않아 보입니다.

pyhwp 라이브러리는 설치해도 import 해서 사용하면 에러가 자꾸 나고

hwp_extract 라이브러리를 이용해서 해봤는데 정확한 위치가 보여지지 않거나 텍스트만 보여지지 않고 문자열이 깨지는 등 원하는 대로 안 되네요..

win32com 라이브러리를 쓰면 보안창이라는 화면이 뜨더군요, 안 뜨게 하려는데.. 그것도 안 맞아서..

하여튼 만족할 방법이 잘 안 보이네요, 좋은 방법이 있을까요?

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

야베스님께서 파이썬을 사용하여 .hwp 파일 내 특정 문자열을 검색하고 그 위치를 확인하고 싶으신 것 같습니다. .hwp 파일은 한글(Hancom Office) 문서 포맷으로, 다소 복잡한 구조를 가지고 있어 파이썬을 통한 조작이 쉽지 않을 수 있습니다. 몇 가지 방법을 고려해볼 수 있습니다.

  1. pyhwp 라이브러리: pyhwp를 사용하여 hwp 파일을 다루는 방법이 유용합니다. 하지만 환경에 따라 문제를 일으킬 수 있습니다. 라이브러리의 최신 버전을 설치하고, 설치에 필요한 의존성이 모두 제대로 설치되어 있는지 확인해 보시는 것이 좋습니다. 설치 후에는 다음과 같은 방법으로 파일을 읽어들입니다.

    import hwp5
    doc = hwp5.Document('yourfile.hwp')
    

    이후에는 doc 객체를 이용하여 내부 내용을 확인할 수 있습니다.

  2. hwp_extract와 다른 라이브러리: 위치 정보를 정확히 얻기 위해 hwp_extract와 같은 라이브러리를 다양하게 조합하여 사용해 볼 수 있습니다. 결과가 깨지지 않도록 encoding 문제를 확인하거나, 특정 모듈을 업데이트하여 시도해 보세요.

  3. win32com 사용: 자동화의 경우, 한글 프로그램의 COM 인터페이스를 사용하여 win32com을 활용할 수 있습니다. 파이썬 스크립트에서 한글 프로그램을 자동화할 수 있지만, 보안창 문제를 해결하기 위해서는 프로그램의 설정을 변경해야 할 수도 있습니다.

  4. OCR 및 다른 방법: 파일 구조 변경 없이 화면에서 직접 텍스트를 인식해 처리하는 방법도 있습니다. 이 경우에는 OCR (Optical Character Recognition) 기술을 사용할 수 있습니다.

각 방법의 장단점이 있어, 자신에게 맞는 방법을 시도해 보는 것이 좋습니다. pyhwp와 관련된 오류가 지속된다면, 공식 저장소나 사용자 커뮤니티 포럼에서 유사한 문제와 해결 방안을 찾을 수 있을 것입니다.

Pyhwp 공식 저장소: pyhwp GitHub

도움이 되었길 바랍니다. 계속해서 궁금한 점 있으시면 언제든지 문의 주세요!

야베스님의 프로필 이미지
야베스
질문자

참고해서 방법을 찾아보겠습니다. 감사합니다.

야베스님의 프로필 이미지
야베스

작성한 질문수

질문하기