프로그래밍 언어/python 관련

hwp파일 python3로 불러오기

code cleaner 2018. 7. 26. 12:29
반응형

대부분의 텍스트 데이터는 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이여서 재편집 필요

반응형