如何在 Python 中实现规则集

dus*_*ust 3 python rules business-rules

我处理一个大型数据集,其中基于列 AI 希望以特定方式处理其他一些列。

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

ETC。

这些规则大量且复杂,我想以某种最好的标准“规则集”格式将它们维护在单独的文件中。

此类规则有常用的格式吗?如何在 Python 代码中使用它?

ssu*_*raj 6

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](...)
Run Code Online (Sandbox Code Playgroud)

您可以将规则集和函数存储在单独的文件中,然后导入该文件,就像处理任何 Python 对象/函数一样。

您可以查看此 Stack Exchange 链接以进行深入讨论。