다양한 데이터 읽기 - PDF/워드(docx) 파일

이해하기 쉽고, 장황하지 않은 자료를 기반으로 강의를 진행합니다.
잔재미코딩 소식 공유
좀더 제약없이, IT 컨텐츠를 공유하고자, 자체 온라인 사이트와, 다음 두 채널도 오픈하였습니다
응원해주시면, 곧 좋은 컨텐츠를 만들어서 공유하겠습니다
●  잔재미코딩 뉴스레터 오픈 [구독해보기]
●  잔재미코딩 유투브 오픈 [구독해보기]

4. 다양한 데이터 읽기 - PDF/워드(docx) 파일

4.1. 다양한 데이터 읽기 - PDF 파일

  • 웹 또는 데이터 중 PDF 로 되어 있는 파일에서 데이터 추출하기
    • pdfminer3k 라이브러리 활용
      • 파이썬3 용 pdfminer 라이브러리
    • 설치
      • pip install pdfminer3k

  • 텍스트가 주로인 PDF 파일에서는 텍스트 파일을 읽을 때와 큰 차이 없이 텍스트 데이터 추출 가능
In [ ]:
from pdfminer.pdfinterp import PDFResourceManager, process_pdf
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from io import StringIO
from io import open
from urllib.request import urlopen

# 다음 코드는 라이브러리에서 PDF 파일을 읽을 시 사용하는 전형적인 코드 형태이므로, 필요할 때 활용하면 됨
def read_pdf_file(pdfFile):
    rsrcmgr = PDFResourceManager()
    retstr = StringIO()
    laparams = LAParams()
    device = TextConverter(rsrcmgr, retstr, laparams=laparams)

    process_pdf(rsrcmgr, device, pdfFile)
    device.close()

    content = retstr.getvalue()
    retstr.close()
    return content

# pdf_file = urlopen("http://pythonscraping.com/pages/warandpeace/chapter1.pdf")  # 웹에 있는 pdf 파일을 읽을 수 있음
pdf_file = open("03_data/sample.pdf", "rb")                                       # 로컬 PC에 있는 pdf 파일도 읽을 수 있음
contents = read_pdf_file(pdf_file)
print(contents)
pdf_file.close()

4.2. 다양한 데이터 읽기 - docx 파일

  • 웹 또는 데이터 중 MS WORD 파일인 docx 형식으로 되어 있는 파일에서 데이터 추출하기
    • docx2txt 라이브러리 활용
    • 설치
      • pip install docx2txt
In [ ]:
import docx2txt

text = docx2txt.process("03_data/sample.docx")
print(text)