/ / Lendo arquivos docx, reconhecendo e armazenando texto em itálico - python, string, docx

Lendo arquivos docx, reconhecendo e armazenando texto em itálico - python, string, docx

Como devo ler um arquivo .docx com o Python e ser capaz de reconhecer o texto em itálico e armazená-lo como uma string?

Eu olhei para o pacote docx python, mas tudo o que vejo são recursos para gravar em um arquivo .docx.

Eu agradeço a ajuda antecipadamente

Respostas:

3 para resposta № 1

Aqui está o meu documento de exemplo, TestDocument.docx, parece.

insira a descrição da imagem aqui

Nota: A palavra "Itálico" está em itálico, mas "ênfase" usa o estilo, Ênfase.

Se você instalar o python-docx módulo. Este é um exercício bastante simples.

>>> from docx import Document
>>> document = Document("TestDocument.docx")
>>> for p in document.paragraphs:
...     for run in p.runs:
...             print run.text, run.italic, run.bold
...
Test Document None None
Italics True None
Emp None None
hasis None None
>>> [[run.text for run in p.runs if run.italic] for p in document.paragraphs]
[[], ["Italics"], []]

o Run.italic atributo captura se o texto está formatadocomo Itálico, mas ele não sabe se um bloco de texto possui um estilo que é renderizado em itálico, mas ele pode ser detectado pela verificação de Run.style.name (se você souber quais estilos em seu documento são renderizados em itálico.

>>> [[run.text for run in p.runs if run.style.name=="Emphasis"] for p in document.paragraphs]
[[], [], ["Emp", "hasis"]]

0 para resposta № 2

Sua melhor aposta é descompactar o docxque irá criar um diretório chamado word. Dentro desse diretório é document.xml, a partir daí você precisaria aprender a estrutura xml e as palavras-chave para poder ler apenas um texto em itálico. Depois de concluir, tudo o que você precisa fazer é puxar a string de texto do arquivo xml.