[Python-es] Filtrar una cadena

FERNANDO VILLARROEL fvillarroel en yahoo.com
Lun Sep 17 19:33:34 CEST 2012


Hola.

Tengo el siguiente problema todos los dias recibo un correo (gmail) con un archivo comprimido en rar; el que contiene un archivo de texto .txt que dia a dia va incrementando su tamaño; actulamente su tamaño es de 14.833 Kb y subiendo.

Su formato es el siguiente:


000000563912
20120117;56974112268;0;220
20120117;56991952999;0;220
20120117;56967174522;0;215
20120117;56985025919;0;220
20120117;56983248924;0;220
20120117;56994910660;0;219

El archivo nunca viene ordenado cronologimente es decir viene desordenado.

La primera file corresponde al numero de registros es decir 563912
En adelante continuan registros delimitads por ";".

La primera columna corresponde a la fecha que para el ejemplo seria 

año 2012
mes 01
día 17

Entonces lo que necesito es procesar este fichero pero dejando solo aquellos registros cuya fecha sea >= a un criterio ingresado por teclado.

Hasta el momento lo que hago es bajar desde gmail este fichero al disco local y ahy procesarlo manualmente (lo que es un parto).

Sera posible tratarlo directamente en el buzon de gmail; es decir abrir el rar, procesar el .txt que contiene con la logica antes explicada (es decir que la primera columna o fecha sea >= con algun criterio para luego bajar el archivo ya prcesado). O bien hilando un poco mas fino abrir desde un proceso web el buzon de gmail y procesar el archvo rar, claro que debiese discriminar aquellos mails que estan como no leidos.

Yo en mis sitios web uso web2py y quizas pensaba usar algo como xmlrpc tipo web service que fuera al correo de gmail a procesar el archvo rar o bien lo baje a /tmp y automaticamente lo procese ahy.

Bueno quedo atento a alguna sugerencia o idea sobre como automatizar esta tarea.

Saludos.


Más información sobre la lista de distribución Python-es