본문 바로가기
프로그래밍 언어/python 관련

hwp파일 python3로 불러오기

by code cleaner 2018. 7. 26.
반응형

대부분의 텍스트 데이터는 txt 파일이나 html에서 크롤링하여 인식한다.


그렇지만 기존 문서들을 작업하기 위해서는 hwp, doc의 파일에서 텍스트를 갖고 와야 한다.


기존 python2에서는 'pyhwp'로 hwp의 파일을 읽어들일 수 있다고 한다.


하지만 현재 pyhwp은 python3에서는 구동이 안된다.


방법은 2개, pyhwp를 python3에서 사용할 수 있도록 개조하거나, 새로운 라이브러리를 찾는다.


오늘은 python3에서도 ole 파일을 읽을 수 있는 'olefile'을 활용한다.



1. 패키지 설치

cmd에서 'pip install olefile' 



2. 소스 만들기


http://olefile.readthedocs.io/en/latest/Howto.html


위의 olefile 문서를 참조하여 만듦


- 한글문서의 문서 데이터는 'Prvtext'에 있다.



3. 데이터 만들기


- case1 : 한글에서 숫자+한글+표




- case2: 한글+영어


case3: 영어+표


-case4: 소스 수정 후, 한글




4. 결과


데이터는 byte로 읽히며 디코딩해주면 데이터를 확인할 수 있다.


- case1 : 하지만 디코딩이 한글 지원을 안 해서 깨짐 / 표는 '<>'로 각각의 표마다 표시됨



- case2 : 영어는 잘 읽어옴 / 하지만 str로 읽어와서 텍스트를 쓰려면 데이터를 다시 정리해야 함 

한글파일에서 hit이 h_i_t로 각 문자마다 공백이 생김 

byte에서 '/'로 문자를 나누기 때문에 그런 것 같다.


- case3 : 특수문자는 '&'로 인식한다. 


-case4: 한글 read 성공



5. 앞으로 해결할 점


read된 데이터가 str이여서 재편집 필요

반응형