Python - Processar Documento Word

Para ler um documento do Word, temos a ajuda do módulo denominado docx. Primeiro instalamos o docx conforme mostrado abaixo. Em seguida, escreva um programa para usar as diferentes funções no módulo docx para ler o arquivo inteiro por parágrafos.

Usamos o comando abaixo para obter o módulo docx em nosso ambiente.

pip install docx

No exemplo abaixo, lemos o conteúdo de um documento do Word anexando cada uma das linhas a um parágrafo e, finalmente, imprimindo todo o texto do parágrafo.

import docx
def readtxt(filename):
    doc = docx.Document(filename)
    fullText = []
    for para in doc.paragraphs:
        fullText.append(para.text)
    return '\n'.join(fullText)
print (readtxt('path\Tutorialspoint.docx'))

Quando executamos o programa acima, obtemos a seguinte saída -

Tutorials Point originated from the idea that there exists a class of readers who respond 
better to online content and prefer to learn new skills at their own pace from the comforts 
of their drawing rooms. 
The journey commenced with a single tutorial on HTML in 2006 and elated by the response it generated, 
we worked our way to adding fresh tutorials to our repository which now proudly flaunts 
a wealth of tutorials and allied articles on topics ranging from programming languages 
to web designing to academics and much more.

Ler Parágrafos Individuais

Podemos ler um parágrafo específico do documento do Word usando o atributo de parágrafos. No exemplo abaixo, lemos apenas o segundo parágrafo do documento do Word.

import docx
doc = docx.Document('path\Tutorialspoint.docx')
print len(doc.paragraphs)
print doc.paragraphs[2].text

Quando executamos o programa acima, obtemos a seguinte saída -

The journey commenced with a single tutorial on HTML in 2006 and elated by the response 
it generated, we worked our way to adding fresh tutorials to our repository 
which now proudly flaunts a wealth of tutorials and allied articles on topics 
ranging from programming languages to web designing to academics and much more.