如何在 Python 中实施规则集

How to implement a ruleset in Python

我处理一个基于列 A 的大型数据集,我想以特定方式处理其他一些列。

如果A列有"processLastNameOnly",那么我只处理LastName。 如果 A 列有 "processMiddleAsFirst",那么我将中间名处理为名字。

等等

这些规则很多而且很复杂,我想以某种最好的标准 "ruleset" 格式将它们保存在一个单独的文件中。

这些规则有没有通用的格式?如何在 Python 代码中使用它?

Python 最酷的一点是一切都是对象,包括函数。因此,您可以创建一个字典,将字符串(在 columnA 中)映射到一个函数。

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 object/function.

一样导入该文件

您可以查看 this Stack Exchange link 进行深入讨论。