[Python] Operazioni tra linee differenti

Marco Beri marcoberi a gmail.com
Gio 28 Maggio 2009 21:50:50 CEST


2009/5/28 Manlio Perillo <manlio_perillo a libero.it>

> <angelseth a libero.it>
> # Il file da leggere
> f = file('/path/to/file')
>
> # Una lista di liste contenente tutti i dati raggruppati
> data = []
> # Una lista usata come accumulatore per ciascun gruppo di dati
> buf = []
>
> # Legge il file riga per riga
> for line in f:
>    # Fa il parsing della riga, convertendo i dati in oggetti Python
>    # fields è una tupla, il cui primo elemento è l'ID
>    # TODO
>    fields = tuple(line.split())
>
>    # Controlla se inserire i dati in un nuovo gruppo o nel gruppo
>    # corrente
>    if not buf or (fields[0] - buf[0] == 1):
>        # La lista è vuota, oppure i dati appartengono allo stesso
>        # gruppo
>        buf.append(fields)
>    # else:
>        # Crea un nuovo gruppo, inserendo quello precedente nella lista
>        # di tutti i gruppi
>        data.append(buf)
>        buf = [fields]
>
> Il tutto rigorosamente non testato.


Mi sa che cosi` hai un problemino sull'ultimo buf che non ti ritrovi nella
lista :-)
Ciao.
Marco.

-- 
http://thinkcode.tv - Prossimamente su questi schermi
http://beri.it - Blog di una testina di vitello
http://stacktrace.it - Aperiodico di resistenza informatica
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20090528/1bf65d1a/attachment.htm 


Maggiori informazioni sulla lista Python