[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