私はワードドキュメントを検索して、ドキュメントに書かれていることの説明を取得しています。ただし、これらのドキュメントはすべて同じフォーマットではありません。しかし、一貫しているのは、私が望むテキストブロックが常にタイトルの「説明」の後にあることです。だから、私は 'Description'を検索して、それの後の次の段落オブジェクトのテキストを取得したいと考えています。どのように段落オブジェクトを増やして(話すように)?python-docxを使ってword文書の段落オブジェクトを増やす方法は?
for subdir, dirs, files in os.walk(rootdir):
for file in files:
doc = docx.Document(os.path.join(rootdir, file))
for paragraph in doc.paragraphs:
if 'Description' in paragraph.text:
print(paragraph[i+1].text) #I know you can't do i+1 but
#that's essentially what I want to do
ああ、段落オブジェクトがインデックス作成をサポートしていないということは、この行で 'print(paragraph [i + 1] .text)'と言います。 @scanny – Vince
申し訳ありません@Vince、それは 'print(paragraphs [i + 1] .text)'でなければなりません。私はこの例でそれを修正しました。 Paragraphオブジェクトはインデックス付きアクセスをサポートしていません。これはコレクションではないため意味があります。しかし、Document.paragraphsから返された値はすでにリストになっています。これはもちろんインデックス作成をサポートしているため、最初の行を 'paragraphs = doc.paragraphs'に単純化することができます。 – scanny
Paragraph.nextのような何らかの振る舞いについて言及している場合は、それ自体に対するインデックス付きアクセスをサポートする段落のように、そうでない場合、その機能は存在しません。 – scanny