I am having an object filters which gives me conditions to be applied to a dataframe as shown below:
"filters": [
    {
        "dimension" : "dimension1",
        "operator" : "IN",
        "value": ["value1", "value2", "value3"],
        "conjunction": None
    },
    {
        "dimension" : "dimension2",
        "operator" : "NOT IN",
        "value": ["value1", "value2", "value3"],
        "conjunction": "OR"
    },
    {
        "dimension" : "dimension3",
        "operator" : ">=",
        "value": ["value1", "value2", "value3"],
        "conjunction": None
    },
    {
        "dimension" : "dimension4",
        "operator" : "==",
        "value": ["value1", "value2", "value3"],
        "conjunction": "AND"
    },
    {
        "dimension" : "dimension5",
        "operator" : "<=",
        "value": ["value1", "value2", "value3"],
        "conjunction": None
    },
    {
        "dimension" : "dimension6",
        "operator" : ">",
        "value": ["value1", "value2", "value3"],
        "conjunction": "OR"
    },
    ]
Here is the grammar by which I used to build the SQL Query:
for eachFilter in filters:
        conditionString = ""
        dimension = eachFilter["dimension"]
        operator = eachFilter["dimension"]
        value = eachFilter["dimension"]
        conjunction = eachFilter["dimension"]
        if len(eachFilter["value"]) == 1:
            value = value[0]
            if operator != "IN" or operator != "NOT IN":
                conditionString += f' {dimension} {operator} {value} {conjunction}'
            else:
                conditionString += f' {dimension} {operator} {value} ({conjunction})'
        else:
            value = ", ".join(value)
            if operator != "IN" or operator != "NOT IN":
                conditionString += f' {dimension} {operator} {value} {conjunction}'
            else:
                conditionString += f' {dimension} {operator} {value} ({conjunction})'
But when it comes to pandas I can't use such queries so wanted to know if there's a good way to loop these filter conditions based on the conditions given in filters. Note that these are the only conditions I will be operating through.
In case of None as conjunction it should have the conjunction as "AND".
