2016-06-29 17 views
0

私はdocxドキュメントを開いて、他の人が文字を置き換える小さなプログラムを構築しようとしています。文書をチェックした後、古い学校のシーザルスタイルの暗号化を行います:[https://python-docx.readthedocs.io]恐らくオブジェクトのメソッドや属性を見つけることができないのですが、ドキュメントでは段落やセクションの作成などの特定の作業を行う方法について説明していますが、ドキュメントデータの取得や解析には何も見つかりません。ドキュメント内のオブジェクトのリストを探して、それらを解析できるようにしたいと考えています。python-docx - 文字の置き換え

私はこのような何かをしたいと思います:

from docx import Document 
document = Document('essay.docx') 

paragraph = [] 
for i in document: 
    paragraph.append(i) 

for i in paragraph: 
    for y in i: 
     y.replace("a", "y") 

... 

のdocx-PYTHONこのような何かを行うことができますか?もしそうなら、どのように私にそれを行うことができるドキュメンテーションを見つけることができますか?

おそらく私が間違ったライブラリを使用している場合は、それを指摘できれば幸いです。

答えて

1

リンク先のページにAPIドキュメントの索引が作成されています(目次が表示されます)。すべてのオブジェクトとメソッドについて説明しています。 https://python-docx.readthedocs.io/en/latest/#api-documentation

+0

うん、私はあまりにもそれらのページを読んで、私はそのような「add_paragraph()」と「add_run()」などの方法を見つけましたが、私は「get_paragraph()」のような方法を見つけることができませんでした。オブジェクトを解析して新しいファイルを作成するように変更する必要があります。おそらく、このライブラリはdocxドキュメントを作成するためにしか動作しますが、そこからデータを取得することはできません。 – andrralv

+0

Documentオブジェクトを調べます。私はあなたが 'Document.paragraphs'を探していると思います。 – scanny

+0

答えがあまりにもハッキリなようですが、Word文書を実際に解凍すると、とりわけ、書式なしのテキストを含むテキスト文書が返されます。私はこのライブラリに精通していませんが、悪化した場合は、1つのユーティリティを使用して解凍し、テキストを読み、不要な部分を削除してから、このライブラリを使用して必要なドキュメントを作成できます。 – Jeff

0

私は将来の読者が興味を持っているかもしれない場合に役立つと思います。 python-docxの問題は、私は段落を個別に取得でき、時間がかかることです。タイトル、フッタ、ヘッダーが段落に含まれるかどうかはわかりません。

しかし、docxと他のファイルを読むことができるtextractというライブラリがあります。これはpython-docxと統合されています。これは、あなたが文字列としてすべてのテキストを取得し、PDFのレイアウトを保持し、それを保存することができます

text = textract.process(
    'path/to/norwegian.pdf', 
    method='pdftofile', 
    language='nor', 
) 

:しかし、私は何ができるか、PDFおよび使用に私のdocxファイルを保存しています。まだそれをテストしていない、意図されたように動作しない場合は、この投稿を編集します。

http://textract.readthedocs.io/en/latest/python_package.html#python-package

関連する問題