El vie., 12 abr. 2019 a las 2:32, AGTUGO (<agt...@gmail.com>) escribió:
> > Excelente respuesta, aunque no entiendo bien la parte de anidar los fors, > ahi estas aplicando todas las reglas en todos los elementos del registro. > Perdon por la respuesta rapida, > He intentado *imitar* el código que habías puesto. No obstante, lo lógico es que cada regla se aplique a todo el registro y que de ahí seleccione los elementos que necesite comprobar. > > On Wed, Apr 10, 2019 at 4:18 AM Chema Cortes <pych...@gmail.com> wrote: > >> El mié., 10 abr. 2019 a las 4:21, AGTUGO (<agt...@gmail.com>) escribió: >> >>> Hola Lista de python es espa;ol, >>> >>> Espero que les guste el formato de mi pregunta con comentarios >>> >>> import operator as op >>> from operator import itemgetter >>> >>> # Tengo que analizar varios CSVs y las "celdas" deben de cumplir ciertas >>> reglas >>> # en caso de que sea as'i todo el rengl'on es de utilidad y se guarda >>> >> >> >> En román paladino: quieres filtrar líneas de un texto CSV cuyos campos >> cumplan una serie de reglas. >> >> Intenta identificar cuáles son los *invariantes* del proceso y >> desacoplar lo que se pueda. En este caso concreto, el procesado línea a >> línea de un fichero no debería depender de las reglas a aplicar ni de qué >> elementos concretos se van a chequear. Lo mejor es asumir que en el >> procesado del fichero únicamente aplicar una regla por línea. Con ello, el >> trabajo se reduce a combinar varias reglas en una sola: >> >> rules = (rule1, rule2, rule3) >> sels = (2, 5, 6) >> >> def pred(register): >> selector = itemgetter(*sels) >> return all(rule(ele) >> for rule in rules >> for ele in selector(register)) >> >> >> A su vez, el fichero de reglas puede asumir que siempre actúa sobre un >> registro de elementos (una lista). Según como sea, puedes sacar estas >> reglas a otros ficheros con la idea de poder cambiar fácilmente de reglas >> cambiando unos ficheros por otros. >> >> Yendo más allá, podrías tener una colección de reglas predefinidas y >> crear con ellas conjuntos (RuleSets), y asociar un RuleSet para cada >> ficheros CSV. >> >> Las combinaciones son innumerables y se puede complicar todo lo que se >> quiera. >> >> >> >> -- >> Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": >> https://blog.ch3m4.org >> Buscador Python Hispano: http://busca.ch3m4.org >> <https://blog.ch3m4.org/pages/busqueda-python-es/> >> _______________________________________________ >> Python-es mailing list >> Python-es@python.org >> https://mail.python.org/mailman/listinfo/python-es >> > > > -- > Arturo Muñoz Tolosa > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": https://blog.ch3m4.org Buscador Python Hispano: http://busca.ch3m4.org <https://blog.ch3m4.org/pages/busqueda-python-es/>
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es