Pergunta

Estou tentando escrever uma função Python que, dado o caminho para um arquivo de documento, retorne o número de palavras desse documento.Isso é bastante fácil de fazer com arquivos .txt, e existem ferramentas que me permitem hackear o suporte para alguns formatos de documentos mais complexos juntos, mas quero uma solução realmente abrangente.

Olhando para a interface de script py-uno do OpenOffice.org e a lista de formatos suportados, pareceria ideal carregar os documentos em um LibreOffice sem cabeça e chamar sua função de contagem de palavras.No entanto, não consigo encontrar nenhum tutorial py-uno ou código de amostra que vá além da geração básica de documentos, e até mesmo os trechos de código que encontrei estão desatualizados há meia década e não funcionam mais.

Seja usando OOo e Uno ou não, como posso obter contagens de palavras confiáveis ​​para documentos de vários formatos?

Foi útil?

Solução

carregue os documentos em um OOo sem cabeça e chame seu função de contagem de palavras

Conversor PyOD é um script recente (11-2009) para usar OOo para converter vários tipos de arquivo.Olhando para o script, ele possui carregamento básico de todos os documentos suportados pelo LibreOffice.

É assim que você inicia o OOo como um serviço headless:

soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

Então você só precisa escrever um pequeno bootstrapper que chame o OOo na linha de comando, execute seu script e feche o OOo.


Outras dicas

Esta pode não ser a opção para você, mas caso seja, você pode fazer upload de documentos para o Google Docs e exportá-los no formato .txt.O Google geralmente faz um ótimo trabalho na conversão.

Você pode encontrar APIs relevantes aqui: http://code.google.com/intl/pl/apis/documents/docs/1.0/developers_guide_python.html

Dê uma olhada nas seções de login, upload e exportação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top