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 #Estas son las columnas de inter'es, se analizar'a renglon por rengl'on idx_columns = (2,5,6) # Estas reglas pueden cambiar y las quiero lo menos "hardcoded posible" # dentro de la funcion funct_to_receive # quiero hacer un set de reglas # por cada csv por eso las quiero afuera de la funci'on para poderlas cambiar # si es posible un python file por cada csv, o un configuration file pero no se # como guardaria esas comparaciones en un string por ejemplo # ____________________AQUI ES LA PREGUNTA__________________ # ______Esta es la parte que me causa conflicto___________ # uso un set de reglas de comparacion que guardo en una lista # pero siento que no lo estoy haciendo de la forma correcta, # es esta solucion muy hacky? poco pythonica? def rule1(ele): return ele == 'watermelon' def rule2(ele): return ele != 'None' def rule3(ele): return (ele == 'peach' or ele == '') #Esto lo uso como input en la funcion rules = [ rule1, rule2, rule3] # funcion que guarda cada renglon, busca en otra base de datos para cotejar # informacion y la convierte en diccionario para ser usada como entrada # para un template de JINJA2 para generacion de codigo def func_to_receive(csv_file, idx_ele_tbc, rules): #To-do: Implementar pass # Este es el caso para un solo renglon list_to_be_compared = ['apple', 'orange', 'watermelon', 'carrots', 'kiwi' , 'None' , ''] #Aqui aislo solo los elementos que me interesan (celdas) elements_to_be_compared = itemgetter(*idx_columns)(list_to_be_compared) #Aqui aplico las comparaciones la regla que le corresponde a cada columna list_comparisons = [rule(ele) for rule,ele in zip(rules, elements_to_be_compared)] all_comparison = all(list_comparisons) print(all_comparison)
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es