1. 서론
doc 혹은 docx 파일을 읽어서 txt로 변환하는 작업을 해야할 일이 생겼다.
근데 파이썬으로 이걸 처리할려니 어떻게 해야할까? 하여 라이브러리는 찾는 중에 기록을 남겨두고자 한다.
단!!! 윈도우에서만 지원하는 라이브러리이므로 리눅스에선 사용이 되질 않는다.
요거 체크하고 넘어가자.
2. 본론
1) pywin32 라이브러리 설치
https://pypi.org/project/pywin32/
pywin32
Python for Window Extensions
pypi.org
해당 페이지는 파이썬에서 win32 api 를 사용할수 있도록 해주는 라이브러리이다. 이걸로 doc 파일을 읽는 것 외에도 많은 기능을 할수 있을것이다... 해보지 않아서 잘 모르겟지만 윈도우 유저는 유용하게 사용할수 있을듯..?
Pypi에 등록 되어있으니 간편하게 아래 명령어 한줄이면 설치가 가능하다.
> pip install pywin32
이미 아나콘다 설치하면 자동으로 패키지가 다운되므로 굳이 안해도 되지만 python 기본 가상환경의 경우엔 설치를 해줘야한다.
2) win32com 패키지를 불러오기
패키지 이름은 pywin32인데 이걸 막상 쓰려고 하니 win32com으로 해야한다..
이상하게 만들어 놨네...
아래는 doc 파일을 불러오는 예제 코드이다.
import win32com.client
word = win32com.client.Dispatch("Word.Application")
# word = win32com.client.Dispatch("Excel.Application")
# word = win32com.client.Dispatch("Powerpoint.Application")
# 엑셀 파워포인트도 가능.
wb = word.Documents.Open("myfile.doc")
word.visible = False
# open 함수를 실행하면 파일이 열리는데 visible false 로 해두면 닫힘
doc = word.ActiveDocument
print(doc.Range().Text) # 파일에서 text만 가져와 프린트 해줌
myfile.doc 파일을 불러와서 프린트 해주는 코드이다.
이렇게 파일을 불러와서 다양한 작업을 실행해주면 되겠다.
통계에 사용한다든지, 분석에 사용한다든지...?
3. 결론
리눅스 작업과 윈도우 작업을 번갈아 하다보니 이게 혼잡스러울때가 많은데..
이렇게 정리를 해두면 조금이라도 오래 남는거 같습니다.
조금이라도 도움이 되시길 바랍니다~
'Python' 카테고리의 다른 글
파이썬 디렉토리 경로 관련 함수들 (0) | 2020.07.20 |
---|---|
파이썬 예외 처리방법, traceback. (0) | 2020.07.20 |
jupyter notebook에서 ipynb 파일을 github로 관리하기..? (0) | 2020.07.08 |
python literal_eval과 eval 함수에 대한 차이점 (0) | 2020.06.19 |
pandas DataFrame에 대한 정리 (0) | 2020.06.19 |
댓글