COMオブジェクトを使用せずにPythonでWord(2003および2007)ファイルを読み書きすることは可能ですか?
私は私ができることを知っています:
f = open('c:\file.doc', "w")
f.write(text)
f.close()
ただし、Wordはネイティブの.docファイルではなくHTMLファイルとして読み取ります。
COMオブジェクトを使用せずにPythonでWord(2003および2007)ファイルを読み書きすることは可能ですか?
私は私ができることを知っています:
f = open('c:\file.doc', "w")
f.write(text)
f.close()
ただし、Wordはネイティブの.docファイルではなくHTMLファイルとして読み取ります。
python-docxを参照してください。その公式ドキュメントは、こちらから入手できます。
これは私にとって非常にうまくいきました。
何を読むかだけを知りたい場合は、Linux の soffice コマンドを使用してテキストに変換し、そのテキストを Python にロードするのが最も簡単です。
.NETランタイムで実行されるため、本質的にWindows /OfficeAPIにアクセスできるIronPythonを調べます。
doc(この場合はWord 2003)とdocx(Word 2007)は異なる形式であり、後者は通常、xmlファイルと画像ファイルの単なるアーカイブです。これらのxmlファイルの内容を操作することでdocxファイルに書き込むことは非常に可能だと思います。ただし、なんらかの種類のCOMコンポーネントインターフェイスがなくても、ドキュメントファイルの読み取りと書き込みを行う方法がわかりません。