【问题标题】:How to implement a ruleset in Python如何在 Python 中实现规则集
【发布时间】:2016-02-16 04:22:47
【问题描述】:

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

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

等等

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

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

【问题讨论】:

    标签: python rules business-rules


    【解决方案1】:

    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 进行深入讨论。

    【讨论】:

    猜你喜欢
    • 2021-06-09
    • 2010-10-02
    • 2015-04-14
    • 2018-11-29
    • 2011-06-27
    • 2011-09-23
    • 2019-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多