2015-11-14 2 views
1

Я обрабатываю большой набор данных, где на основе столбца A Я хочу обработать некоторые другие столбцы определенными способами.Как реализовать набор правил в Python

Если столбец A имеет «processLastNameOnly», тогда я обрабатываю только LastName. Если столбец А имеет «processMiddleAsFirst», я обрабатываю Среднее Имя как Имя.

Etc.

Эти правила много и сложны, и я хочу, чтобы сохранить их в отдельном файле, в каком предпочтительно стандартном формате «набора правил».

Существует ли широко используемый формат для таких правил? Как использовать его из кода Python?

ответ

3

Замечательная вещь о Python заключается в том, что все объекты, включая функции. Таким образом, вы можете создать словарь, который отображает строку (в столбце A) в функцию.

def processLastNameOnly(...): 
    pass # process data here 
def processMiddleAsFirst(...): 
    pass # process data here 

ruleset = {'processLastNameOnly': processLastNameOnly, 
      'processMiddleAsFirst': processMiddleAsFirst} 


# Call the function from the dict with the appropriate args 
ruleset[columnA_value](...) 

Вы можете сохранить набор правил и функции в отдельном файл и импортировать этот файл как вы могли бы сделать это с любым объектом Python/функцией.

Вы можете проверить this Stack Exchange link на предмет углубленного обсуждения.

+0

Я использовал этот подход @ssundaraj, очень полезно - спасибо. – dust

+0

@dust Рад помочь! – ssundarraj

Смежные вопросы