web-dev-qa-db-ja.com

PythonでのMS Wordファイルの読み取り/書き込み

COMオブジェクトを使用せずに、Word(2003および2007)ファイルをPython)で読み書きすることはできますか?
私はできることを知っています:

f = open('c:\file.doc', "w")
f.write(text)
f.close()

しかし、Wordはネイティブの.docファイルではなく、HTMLファイルとして読み取ります。

19
UnkwnTech

私は IronPython を調べます。これは、.NETランタイムで実行されるため、本質的にWindows/Office APIにアクセスできます。

7
auramo

python-docx を参照してください。公式ドキュメントは こちら にあります。

これは私にとって非常にうまくいきました。

39
Damian

何を読むだけかは、Linuxのsofficeコマンドを使用してテキストに変換し、テキストをpythonにロードすることは simplest です。

11
markling

doc(この場合はWord 2003)とdocx(Word 2007)は異なる形式です。後者は通常、xmlファイルと画像ファイルのアーカイブにすぎません。これらのxmlファイルの内容を操作することにより、docxファイルに書き込むことが非常に可能であると想像します。ただし、なんらかの種類のCOMコンポーネントインターフェイスなしでdocファイルを読み書きする方法はわかりません。

3
fuentesjr