猿问

在 Python 中动态循环 json 数据

我在服务器中有两个 json 文件。第一个 json 文件是一个 json 格式的数据框,它有 21 列。


第二个 json 对象是要应用于第一个 json(数据文件)的不同过滤器的集合,我想在应用每个过滤器后动态计算数量列的减少量。


两个jsons都在服务器中。示例如下,


[{

        "criteria_no.": 1,

        "expression": "!=",

        "attributes": "Industry_name",

        "value": "Clasentrix"


    },{ 

        "criteria_no.": 2,

        "expression": "=",

        "attributes": "currency",

        "value": ["EUR","GBP","INR"]



    },{

        "criteria_no.": 3,

        "expression": ">",

        "attributes": "Industry_Rating",

        "value": "A3"


    },{

        "criteria_no.": 4,

        "expression": "<",

        "attributes": "Due_date",

        "value": "01/01/2025"


    }

    ]

在python中编码时,如下所示,


import urllib2, json

url = urllib2.urlopen('http://.../server/criteria_sample.json')

obj = json.load(url)

print obj


[{u'attributes': u'Industry_name', u'expression': u'!=', u'value': u'Clasentrix', u'criteria_no.': 1}, {u'attributes': u'currency', u'expression': u'=', u'value': [u'EUR', u'GBP', u'INR'], u'criteria_no.': 2}, {u'attributes': u'Industry_Rating', u'expression': u'>', u'value': u'A3', u'criteria_no.': 3}, {u'attributes': u'Due_date', u'expression': u'<', u'value': u'01/01/2025', u'criteria_no.': 4}]

现在,在示例 json 中,我们可以看到"attributes",它只是第一个数据文件中存在的列。我提到它有 21 列,"Industry_name", "currency", "Industry_Rating","Due_date"是其中的四列。"Loan_amount"是数据文件中存在的另一列以及所有列。


现在因为这个标准列表只是一个样本,我们有 n 个这样的标准或过滤器。我希望在数据文件上动态应用此过滤器,我想计算贷款金额的减少。让我们考虑第一个过滤器,它说"Industry_name"列不应该有"Clasentrix". 所以从我想过滤的数据文件中"Industry_name",它不会有'Clasentrix'条目。现在让我们假设有 11 个观测值,我们'Clasentrix'从数据文件中获得了 61 个观测值。然后我们将取整个贷款金额的总和(61 行),然后从总贷款金额中减去 11 行的贷款金额总和'Clasentrix'。这个数字将被视为应用第一个过滤器后的减少。


现在,对于 n 个标准中的每一个,我想在 python 中动态计算减少量。因此,在循环内部,过滤器 json 文件将创建考虑属性、表达式和值的过滤器。就像第一个过滤器一样"Industry_name != 'Clasentrix'"。这应该反映在 json 对象的每组行中,就像第二个标准(过滤器)一样,它应该是"currency=['EUR','GBP','INR']"& 等等。我也想相应地计算减少。


我正在努力为上述练习创建 python 代码。我的帖子太长了,对此深表歉意。但是请提供帮助,说明如何为每个 n 标准动态计算减少量。


大话西游666
浏览 520回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答