访问嵌套字典中的数据

时间:2019-05-15 04:00:40

标签: python api google-analytics

我正在尝试使用GG Analytics API,我得到的响应不是JSON,而是一种奇怪的字典,我猜是一个嵌套的字典,无论如何,我从未遇到过这种布局,我也不知道如何访问数据中的行。假设我要访问数据中的第一个指标值(报告->数据->行->指标->值= 33.361625),我应该如何进行? 我已经尝试了很多事情,但是找不到正确的公式。

这是我的身体反应:

{
    'reports': [{
        'columnHeader': {
            'dimensions': ['ga:campaign'],
            'metricHeader': {
                'metricHeaderEntries': [{
                    'name': 'ga:adsenseRevenue',
                    'type': 'CURRENCY'
                }, {
                    'name': 'ga:adsensePageImpressions',
                    'type': 'INTEGER'
                }, {
                    'name': 'ga:adsenseCTR',
                    'type': 'PERCENT'
                }, {
                    'name': 'ga:totalPublisherRevenuePer1000Sessions',
                    'type': 'CURRENCY'
                }]
            }
        },
        'data': {
            'rows': [{
                    'dimensions': ['(not set)'],
                    'metrics': [{
                        'values': ['33.361625', '1241', '24.25463336019339', '41.136405672009865']
                    }]
                },
                {
                    'dimensions': ['bath'],
                    'metrics': [{
                        'values': ['0.001371', '3', '0.0', '0.6855']
                    }]
                }, {
                    'dimensions': ['buffer'],
                    'metrics': [{
                        'values': ['0.0', '2', '0.0', '0.0']
                    }]
                }]
                }
            ],
            'totals': [{
                'values': ['5617.691293', '80215', '37.27108396185252', '120.7716068580028']
            }],
            'rowCount': 443,
            'minimums': [{
                'values': ['0.0', '0', '0.0', '0.0']
            }],
            'maximums': [{
                'values': ['933.667229', '12299', '162.5', '670.1915']
            }],
            'isDataGolden': True
        },
        'nextPageToken': '10'
    }]
}

谢谢

1 个答案:

答案 0 :(得分:1)

在第38行的JSON /字典上有错误,无论如何,该行不应该存在,以获取所需的值,请尝试以下操作:

>>> response ['报告'] [0] ['数据'] ['行'] [0] ['指标'] [0] ['值'] [0]

'33 .361625'