Leitura / Escrita de Arquivos MS Word em Python
-
06-07-2019 - |
Pergunta
É possível ler e escrever Word (2003 e 2007) arquivos em Python sem o uso de um objeto COM?
Eu sei que eu posso:
f = open('c:\file.doc', "w")
f.write(text)
f.close()
mas a Palavra vai lê-lo como um arquivo HTML não é um arquivo .doc nativa.
Solução
Eu olhar para IronPython que intrinsecamente tem acesso a APIs Windows / Office porque ele é executado em tempo de execução .NET .
Outras dicas
python-docx , sua documentação oficial está disponível aqui .
Isso tem funcionado muito bem para mim.
Se você só o que ler, é simples usar o comando linux soffice convertê-lo para texto, e em seguida, coloque o texto em python:
doc (Word 2003, neste caso) e docx (Word 2007) são formatos diferentes, onde o último é geralmente apenas um arquivo de arquivos xml e imagem. Eu imagino que é muito possível escrever para docx arquivos, manipulando o conteúdo desses arquivos XML. No entanto, eu não vejo como você pode ler e gravar em um arquivo doc sem algum tipo de interface do componente COM.