首页 > 解决方案 > 展平 dict/list 对象 - Python vs Sql?

问题描述

我有一些 dict/list 值——通常我会存储为 json 并通过 SQL 展平——但想知道是否有人对使用 python 有任何看法?一般来说,在一行中获取此数据的最有效方法,其中维度和 metricHeaderEntries 的值是列,并且相应的行值在它们下方对齐

顺便说一句,这是 Google Analytics API Export 的一个示例,因此可以帮助其他人。目标是在一行中获取 Dimension & Metric 的所有值。

{
    "reports": [
        {
            "columnHeader": {
                "dimensions": [
                    "DimA",
                    "DimAB",
                    "DimAC",
                    "DimAD",
                    "DimAE"
                ],
                "metricHeader": {
                    "metricHeaderEntries": [
                        {
                            "name": "METRICAB",
                            "type": "INTEGER"
                        },
                        {
                            "name": "METRICABAC",
                            "type": "INTEGER"
                        },
                        {
                            "name": "METRICABACD",
                            "type": "INTEGER"
                        },
                        {
                            "name": "METRICABADCE",
                            "type": "VARCHAR"
                        },
                        {
                            "name": "METRICABADEEW",
                            "type": "FLOAT"
                        },
                        {
                            "name": "METRICABADEEFG",
                            "type": "FLOAT"
                        }
                    ]
                }
            },
            "data": {
                "rows": [
                    {
                        "dimensions": [
                            "(test)",
                            "2019022",
                            "(not set)",
                            "d",
                            "/search"
                        ],
                        "metrics": [
                            {
                                "values": [
                                    "0",
                                    "1",
                                    "1",
                                    "100000.0",
                                    "61.0",
                                    "16.0"
                                ]
                            }
                        ]
                    },
                    {
                        "dimensions": [
                            "(test)",
                            "20190222",
                            "(not set)",
                            "asdf",
                            "/adf"
                        ],
                        "metrics": [
                            {
                                "values": [
                                    "30",
                                    "133",
                                    "31",
                                    "330.0",
                                    "31.0",
                                    "32.0"
                                ]
                            }
                        ]
                    },
      "nextPageToken": "331000"
        }
    ]
}

期望的输出: 在此处输入图像描述

标签: pythonsnowflake-cloud-data-platform

解决方案


推荐阅读