Domanda

Sto cercando di scrivere una funzione Python che, dato il percorso di un file di documento, restituisca il numero di parole in quel documento.Questo è abbastanza semplice da fare con i file .txt e ci sono strumenti che mi consentono di modificare insieme il supporto per alcuni formati di documenti più complessi, ma voglio una soluzione davvero completa.

Osservando l'interfaccia di scripting py-uno di OpenOffice.org e l'elenco dei formati supportati, sembrerebbe l'ideale caricare i documenti in un OOo senza testa e richiamare la sua funzione di conteggio delle parole.Tuttavia, non riesco a trovare tutorial py-uno o codice di esempio che vadano oltre la generazione di documenti di base e anche i frammenti di codice che ho trovato non sono aggiornati di mezzo decennio e non funzionano più.

Utilizzando o meno OOo e Uno, come posso ottenere un conteggio delle parole affidabile per documenti di vari formati?

È stato utile?

Soluzione

caricare i documenti in un OOo headless e chiamalo funzione di conteggio delle parole

PyODConverter è uno script recente (11-2009) per utilizzare OOo per convertire più tipi di file.Osservando lo script, si nota che prevede il caricamento di base di tutti i documenti supportati da OOo.

Ecco come avviare OOo come servizio headless:

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

Quindi devi solo scrivere un piccolo bootstrapper che richiama OOo dalla riga di comando, esegue lo script e quindi chiude OOo.


Altri suggerimenti

Questo potrebbe non essere l'opzione per voi, ma nel caso in cui si tratta - è possibile caricare i documenti da Google Docs e quindi esportare in formato txt. Google di solito fa lavoro molto bello per la conversione.

Si possono trovare le API rilevanti qui: http: //code.google.com/intl/pl/apis/documents/docs/1.0/developers_guide_python.html

Date un'occhiata al login, Caricamento ed esportazione sezioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top