복붙노트

[PYTHON] 파이썬으로 .doc 파일 읽기

PYTHON

파이썬으로 .doc 파일 읽기

구직 신청서를 받았는데 거래가 .doc 파일로 읽혔습니다. 누구든지이 일을 할 수있는 라이브러리를 알고 있습니까? 난 원시 파이썬 코드로 시작했다 :

f = open('test.doc', 'r')
f.read()

하지만 이것은 utf-8로 변환해야하는 친숙한 문자열을 반환하지 않습니다.

편집 : 난 그냥이 파일에서 텍스트를 원한다.

해결법

  1. ==============================

    1.하나는 textract 라이브러리를 사용할 수 있습니다. 그것은 "doc"뿐만 아니라 "docx"

    하나는 textract 라이브러리를 사용할 수 있습니다. 그것은 "doc"뿐만 아니라 "docx"

    import textract
    text = textract.process("path/to/file.extension")
    

    당신은 'antiword'(sudo apt-get anti-word)를 사용하여 docx로 먼저 변환 한 다음 docx2txt를 통해 읽을 수도 있습니다.

    antiword filename.doc > filename.docx
    

    궁극적으로 백엔드의 textract는 antiword를 사용합니다.

  2. ==============================

    2.python-docx2txt 라이브러리를 사용하여 Microsoft Word 문서에서 텍스트를 읽을 수 있습니다. 이것은 python-docx 라이브러리보다 개선 된 기능으로, 링크, 헤더 및 푸터에서 텍스트를 추출 할 수 있습니다. 그것은 심지어 이미지를 추출 할 수 있습니다.

    python-docx2txt 라이브러리를 사용하여 Microsoft Word 문서에서 텍스트를 읽을 수 있습니다. 이것은 python-docx 라이브러리보다 개선 된 기능으로, 링크, 헤더 및 푸터에서 텍스트를 추출 할 수 있습니다. 그것은 심지어 이미지를 추출 할 수 있습니다.

    pip install docx2txt를 실행하여 설치할 수 있습니다.

    여기서 첫 번째 Microsoft 문서를 다운로드하고 읽으십시오.

    import docx2txt
    my_text = docx2txt.process("test.docx")
    print(my_text)
    

    다음은 위 코드의 터미널 출력 화면입니다.

    편집하다:

    이것은 .doc 파일에서는 작동하지 않습니다. 이 대답을 계속하는 유일한 이유는 .docx 파일에 유용하다고 생각하는 사람들이 있다는 것입니다.

  3. ==============================

    3.나는 똑같은 것을 시도하고 있었고 .docx를 읽는 것에 관한 많은 정보를 발견했지만 .doc은 훨씬 적었습니다. 어쨌든, 나는 다음을 사용하여 텍스트를 읽을 수 있었다 :

    나는 똑같은 것을 시도하고 있었고 .docx를 읽는 것에 관한 많은 정보를 발견했지만 .doc은 훨씬 적었습니다. 어쨌든, 나는 다음을 사용하여 텍스트를 읽을 수 있었다 :

    import win32com.client
    
    word = win32com.client.Dispatch("Word.Application")
    word.visible = False
    wb = word.Documents.Open("myfile.doc")
    doc = word.ActiveDocument
    print(doc.Range().Text)
    
  4. ==============================

    4.선수 과목 :

    선수 과목 :

    antiword 설치 : sudo apt-get install antiword

    docx 설치 : pip install docx

    from subprocess import Popen, PIPE
    
    from docx import opendocx, getdocumenttext
    from cStringIO import StringIO
    def document_to_text(filename, file_path):
        cmd = ['antiword', file_path]
        p = Popen(cmd, stdout=PIPE)
        stdout, stderr = p.communicate()
        return stdout.decode('ascii', 'ignore')
    
    print document_to_text('your_file_name','your_file_path')
    

    Notice - 새로운 버전의 python-docx가이 함수를 삭제했습니다. 새로운 python-docx가 아닌 docx를 설치하십시오.

  5. ==============================

    5.다른 답변이 도움이되는 반면, .docx 파일을 읽을 수있는 내용은 다음과 같습니다.

    다른 답변이 도움이되는 반면, .docx 파일을 읽을 수있는 내용은 다음과 같습니다.

    data = open(my_file, 'r', encoding="ISO-8859-1").read()
    

    파이썬 inbuilt open 함수에서 encoding = "ISO-8859-1"을 지정해야합니다. 희망이 도움이됩니다.

  6. from https://stackoverflow.com/questions/36001482/read-doc-file-with-python by cc-by-sa and MIT license