2010-07-19 2 views
8

csv.reader()처럼 .rtf, .txt, .doc 개의 파일을 Python으로 읽을 수있는 다른 기능이 있습니까?Doc, rtf 및 txt reader in python

+0

관련 항목 : [파이썬에서 MS 워드 파일로부터 텍스트 추출하기] (0120-13-0112) – jfs

답변

9

당신은 RTF 파일을 PyRTF을 시도

txt = open("file.txt").read() 

텍스트 파일을 읽을 수 있습니다. 나는 MS Word .doc 파일을 읽는 것이 당신이 Windows에 있지 않고 네이티브 MS 인터페이스를 사용하여 그 파일을 읽을 수 없다면 거의 불가능하다고 생각할 것입니다. This article은 Word와 인터페이스하는 스크립트를 작성하는 방법을 보여줍니다.

4

csv은 특정 형식이므로 읽을 때 "파서"가 필요합니다. 이것은 위에서 언급 한 것처럼 csv 모듈이 제공하는 것입니다. 텍스트 파일 (대개 .txt이라는 접미사가 붙은 파일)에는 고정 된 "형식"이 없으므로 open을 입력 한 후에 읽을 수 있습니다 (Jesse의 답변에서 자세한 내용 제공). CSV 파일은 일반적으로 텍스트 파일이므로 구별이 정확하지 않습니다.

RTF에는 여러 가지가 있습니다. 자세한 내용은 this answer을 참조하십시오. Jesse가 언급 한 PyRTF가 가장 인기가있는 것 같습니다.

형식이 독점적이므로 Microsoft Word 문서 파일 (일반적으로 .doc이라는 접미사가 붙음)은 다른 짐승입니다. 파이썬 변환기에 대한 많은 경험이 없지만 다소 괜찮은 작업을 수행하는 몇 가지 명령 행 (wvHTML과 같은)이 있습니다. This question에서는 몇 가지 사항을 설명합니다. 또한 MS-Word 자체를 통해 수행 할 수있는 옵션이 있습니다. Jesse와 같은 COM 인터페이스가 언급했습니다.

3

단어 및 작성자 문서에 대해이 간단한 작업을 수행하려고 할 때 정말 고생했습니다.

간단한 해결책이 있습니다. 명령 행에서 openoffice를 호출하여 대상 문서를 텍스트로 변환 한 다음 텍스트를 Python으로로드하십시오.

다른 파이썬 oOo 라이브러리는 너무 복잡하면서, 나는 믿을 수없는 출력을 만들어 냈습니다.

당신은 단지 당신이 그것을 처리 할 수 ​​있도록 텍스트를 얻고 싶다면

는 리눅스 명령 줄에서이를 사용

soffice --headless --convert-to txt:Text /path_to/document_to_convert.doc 

(당신이 그것을 자동화 할 경우 서브 프로세스를 사용하여 파이썬에서 호출).

파이썬에로드 할 수있는 텍스트 파일을 만듭니다.

(Credit)

4
import win32com.client 
if tmpFile.endswith('.xml') or tmpFile.endswith('.doc') or tmpFile.endswith('.docx'): 
     app = win32com.client.Dispatch("Word.Application") 
     app.Visible = False 
     app.Documents.Open(tmpFile) 
     doc = app.ActiveDocument 

     docText = doc.Content.Text 
     print(docText) 
     doc.Close() 
     app.Quit() 
+2

'|'를 사용하지 마십시오. 거기에 '또는'이 있습니다. – FunkySayu

0

라는 파이썬 모듈이 있습니다 '의 DOCX'당신이 .DOCX 파일을 읽을 수 있습니다. 요즘에는 쓸모가 없기 때문에 .doc을 읽을 수 없습니다.

from docx import Document 
doc = Document(filepath) 
# Reading Data 
data = doc.paragraphs 
tables = doc.tables 

당신은 Pypi에서 Here을 찾을 수 있습니다.

관련 문제