[Python] Semplice DB.

Gabriele Battaglia iz4apu a libero.it
Mer 10 Lug 2019 14:59:16 CEST


Buondì a tutti.
Python 3, programma da console, niente interfaccia.

Una cosa molto semplice.
Devo creare un parser che legga un file piuttosto grosso che contiene, 
in formato testo, dei dati già strutturati in una certa maniera. Diciamo 
che so la combinazione di caratteri con cui inizia la riga con cui parte 
il dato e so come si conclude l'ultima riga che lo compone.
Devo prendere il testo fra questi estremi, elaborarlo e piazzarlo in una 
struttura più facilmente leggibile ed interrogabile.

La struttura scelta è una lista di tuple. La lista fa da indice e mi 
permette di rimuovere ed aggiungere record con facilità. Le tuple sono 
tuple perchè non ho necessità di cambiare il loro contenuto ma di 
leggerlo soltanto accedendovi grazie agli indici.

Il problema è che i vari campi dei dati, nel file di testo, non hanno un 
ordine preciso. So dove iniziano e finiscono i blocchi dei dati, ma 
all'interno del singolo blocco, non v'è ordine.

E' come se avessi:

<Cliente>
nome: xxx, cognome: yyy, data: zzz
</Cliente>

Ma anche:

<Cliente>
data: zzz, cognome: yyy, nome: xxx
</Cliente>

Perciò, quando assegno i dati alla tupla avrò che ogni record presenterà 
campi diversi nella stessa posizione indicizzata: ad esempio db[0][0] ci 
sarà il nome, mentre db[1][0] presenterà la data.

Non so se mi sono spiegato. Qualche dritta sulla strada per la risoluzione?

Gabry.
-- 
Gabriele Battaglia, IZ4APU (Libero)
Sent from TB on Windows 10, Genus Bononiae's computer.


Maggiori informazioni sulla lista Python