如何使用python将API从json插入雪花数据库?

时间:2019-04-03 13:58:09

标签: python python-3.x api linkedin-api snowflake

我正在使用python从Linkedin AD API中获取数据。
我将数据作为json字符串获取。
如何使用变体列将此json插入Snowfalke表中?
除了变体,“元素”内的字段也可以作为普通插入。
我是json和python的新手,所以很乐意为此提供帮助。
这是我得到的示例json字符串。

{
    "elements": [
        {
            "dateRange": {
                "start": {
                    "month": 3,
                    "year": 2019,
                    "day": 3
                },
                "end": {
                    "month": 3,
                    "year": 2019,
                    "day": 3
                }
            },
            "clicks": 11,
            "impressions": 2453,
            "pivotValues": [
                "urn:li:sponsoredCampaign:1234567"
            ]
        },
        {
            "dateRange": {
                "start": {
                    "month": 3,
                    "year": 2019,
                    "day": 4
                },
                "end": {
                    "month": 3,
                    "year": 2019,
                    "day": 4
                }
            },
            "clicks": 4,
            "impressions": 816,
            "pivotValues": [
                "urn:li:sponsoredCampaign:1234567"
            ]
        },
        {
            "dateRange": {
                "start": {
                    "month": 3,
                    "year": 2019,
                    "day": 7
                },
                "end": {
                    "month": 3,
                    "year": 2019,
                    "day": 7
                }
            },
            "clicks": 1,
            "impressions": 629,
            "pivotValues": [
                "urn:li:sponsoredCampaign:1234565"
            ]
        },
        {
            "dateRange": {
                "start": {
                    "month": 3,
                    "year": 2019,
                    "day": 21
                },
                "end": {
                    "month": 3,
                    "year": 2019,
                    "day": 21
                }
            },
            "clicks": 3,
            "impressions": 154,
            "pivotValues": [
                "urn:li:sponsoredCampaign:1323516"
            ]
        }
    ],
    "paging": {
        "count": 10,
        "start": 0,
        "links": []
    }
}

2 个答案:

答案 0 :(得分:0)

以下是python中如何插入JSON数据的示例:

https://github.com/snowflakedb/snowflake-connector-python/blob/master/test/test_cursor.py#L456

我想您在插入中缺少parse_json函数。

答案 1 :(得分:0)

documentation 在这里可能会有所帮助。

特别是:

INSERT INTO myTable (myColumn) 
SELECT ('{"key3": "value3", "key4": "value4"}'::VARIANT);

只需在适当的位置插入您的 JSON 字符串即可。