지난 시간에 이어서 hwp5proc를 이용하여 hwp를 xml로 변환해보겠다. 근데 또 이 과정에서 많은 에러가 있었다.
터미널에서는 hwp5proc가 잘 동작하지만 jupyter notebook에서는 안 되는 에러가 발생했다.
os.system을 사용해서 그냥 hwp5proc를 사용하면 xml 파일이 생성되지만 0바이트 빈 파일이 생성되는 에러가 발생했다. 아래의 링크를 참고하여 이 문제를 해결했다.
https://stackoverflow.com/questions/48484152/os-system-returns-error-code-32512-python
(분명 터미널에서 PATH 설정을 추가했는데 jupyter notebook에서는 적용이 안 되는 대참사가...)
exefile = '/Users/jason/.local/bin/hwp5proc'
이렇게 hwp5proc 명령어 앞에 직접 위치를 추가해서 코드를 실행했다.
import os
path = '/Users/jason/Test/code/test1'
exefile = '/Users/jason/.local/bin/hwp5proc'
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:
mXml = result[:-4] + ".xml"
mHwp = result
cmd = exefile + " xml " + mHwp + " > " + mXml
print(cmd)
os.system(cmd)
위의 코드는 xml 변환 코드이고 아래는 실행 결과이다.

os.system 안에 들어가는 명령어를 출력한 결과

xml 파일로 모두 저장되었다.

term1.xml 파일을 열었을 때 term1.hwp 파일의 표 안의 내용이 모두 잘 추출되었다.

다음 시간에는 변환된 xml 파일 오류가 없는지 좀 체크해보고 필요한 내용만 포함된 파일로 변환하는 작업을 할 예정이다.
'프로젝트 > 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 (3) - CONDA PATH 설정하기 (0) | 2021.05.29 |
Toy Project 1 (2) - 공정위 사이트 크롤링하기 (0) | 2021.05.25 |
Toy Project 1 (1) - 약관 분류기 만들기 (0) | 2020.12.21 |