2012-07-06 11 views
6

Voglio accedere a un file ODB (fatta con LibreOffice Base) in Python ed estrarre un tavolo per un ulteriore uso. L'ODB contiene diverse tabelle, una relazione e diverse forme.Come per accedere ai file ODB in Python 2.7

È possibile ottenere questo risultato senza l'utilizzo di SQL?

Modifica: Dal momento che sembra complicato analizzare questo formato da solo, considererò l'utilizzo di un motore HSQLDB corretto.

Cosa modulo python accede tramite HSQL (come sqlite3 per SQLite fa)?

+1

Se non si utilizza qualsiasi forma di SQL ODB in genere utilizzato, si sta andando ad avere per scrivere il proprio parser per il formato, che sta per essere molto più complicato rispetto all'utilizzo di un lib e l'apprendimento pre-costruito come scrivere query – Endophage

+0

@ Endophage: Vedo il tuo punto. Would [sqlite3] (http://docs.python.org/library/sqlite3.html) funziona con ODB? – ferkulat

+0

sqlite3 è la sua implementazione di database. Credo (ma non posso davvero dire al 100%) che non ha alcuna relazione con ODB se non con entrambi i database ... come Windows e Linux sono entrambi sistemi operativi. Avrai bisogno di trovare una lib python specificatamente per ODB. Il canale IRC Python è un buon posto dove chiedere se nessuno risponde qui. – Endophage

risposta

4

Si può considerare Python Uno API che viene fornito con OpenOffice. Ci sono diversi Python examples per interagire con le API, di cui uno con l'sample database

C'è anche questo SO question dove è spiegato come utilizzare Uno con LibreOffice.

+0

+1 per indicarmi 'PyUno', sembra promettente. ma riguardo le [modifiche recenti] (https://wiki.documentfoundation.org/ReleaseNotes/4.0#API_Changes) all'API di LibreOffice, dovrò vedere se funziona ancora. vedi anche questo [blog] (http://standardsandfreedom.net/index.php/2013/01/24/the-meaning-of-the-4-0/) – ferkulat

+1

Sì, ho visto che: se ti puoi permettere rimani sulla precedente versione principale fino al momento in cui pyuno è adattato correttamente alla 4.0: non sembrano essere pronti a supportare pyuno + python3 su 4.0 in questo momento ... – Boud