우선 제대로 설치되지 않은 파일을 삭제했다. (중복된 0바이트 파일들)
import os
path = "/Users/jason/Downloads/"
res = []
for root, dirs, files in os.walk(path):
rootpath = os.path.join(os.path.abspath(path), root)
for file in files:
filepath = os.path.join(rootpath, file)
res.append(filepath)
for result in res:
## t로 시작하지 않는 파일 삭제
if result[23] != 't':
print('remove file' + result)
os.remove(result)
continue
필요 없는 파일들을 삭제했다.
그리고 hwp 파일을 txt 파일로 변환한다. (이다음부터는 삽질을 많이 했다.)
https://hyyoka-ling-nlp.tistory.com/6
https://statkclee.github.io/nlp2/regex-import-text.html
다양한 방법이 있지만, 우선 위의 사이트에서 소개된 hwp5txt 라이브러리를 사용하기로 했다.
hwp5txt가 아닌 hwp5proc를 사용하기로 했다. hwp5txt를 사용하면 표 안의 내용이 추출이 안 된다. 표를 제거하려면 win32com client 라이브러리를 추가로 사용해야 하는데 mac에서는 돌아가지도 않을뿐더러 매우 매우 번거롭다. 그러나 txt 파일이 아닌 xml 파일로 추출하면 깔끔하게 표 안의 내용들까지 추출이 가능하다. 아래의 링크 참고
https://github.com/mete0r/pyhwp/issues/169
https://pythonhosted.org/pyhwp/ko/hwp5proc.html#module-hwp5.proc.xml
hwp5txt를 사용하기 위해서 다음과 같은 절차가 필요하다.
https://mytory.net/archives/12797
이렇게 PATH에 hwp5txt가 설치된 경로를 추가해주어야 한다. 이 작업을 해주는 이유는 sudo 없이 pip install --user로 설치를 한 뒤에 어디서든 접근할 수 있게 만들어 주기 위해서이다. 여기서 주의할 점은 pyhwp가 아니라 hwp5txt의 경로를 확인해야 한다.
그런데 mac 최신 환경은 zshrc이기 때문에 위의 블로그에서 소개된 방식으로 하면 안 된다.
이렇게 vim으로 zshrc에 들어가서
마지막 줄에 export PATH="$PATH:[디렉터리]"를 추가해준다. 참고로 vim에서 편집 모드는 명령어 i로 들어가고, 편집을 완료한 뒤 저장하려면 :wq를 입력하면 된다. 그리고 'ESC'로 다시 명령 모드로 나올 수 있다.
source ~/.zshrc로 변경사항을 적용하고 hwp5txt --version을 입력하니 원하던 결과가 나왔다. 이제 hwp5txt를 이용하여 txt 파일로 변환해 보자.
(결과적으로 jupyter notebook에서는 위의 방법을 사용해도 다른 추가적인 절차가 필요했다.)
'프로젝트 > Project1' 카테고리의 다른 글
Toy Project 1 (6) - HWP XML PARSING하기 2 (0) | 2021.09.12 |
---|---|
Toy Project 1 (5) - HWP XML PARSING하기 1 (0) | 2021.06.11 |
Toy Project 1 (4) - HWP파일 XML로 바꾸기 (0) | 2021.05.30 |
Toy Project 1 (2) - 공정위 사이트 크롤링하기 (0) | 2021.05.25 |
Toy Project 1 (1) - 약관 분류기 만들기 (0) | 2020.12.21 |