ネイティブの Python docx モジュールを使用する .ドキュメントからすべてのテキストを抽出する方法は次のとおりです:
document = docx.Document(filename)
docText = '\n\n'.join(
paragraph.text for paragraph in document.paragraphs
)
print(docText)
Python DocX サイトを参照
また、テーブルなどを引き出す Textract もチェックしてください。
正規表現を使用して XML を解析すると、cthulu が呼び出されます。やるな!
ベンジャミンの答えはかなり良いものです。統合しました...
import zipfile, re
docx = zipfile.ZipFile('/path/to/file/mydocument.docx')
content = docx.read('word/document.xml').decode('utf-8')
cleaned = re.sub('<(.|\n)*?>','',content)
print(cleaned)
アンチワードへのサブプロセス呼び出しを行うことができます。 Antiword は、word doc からテキストをダンプするための Linux コマンドライン ユーティリティです。単純なドキュメントではうまく機能します (明らかに書式設定が失われます)。これは apt を介して入手でき、おそらく RPM として入手できます。または、自分でコンパイルすることもできます。