#python #python-3.x #api #linkedin-api #snowflake-cloud-data-platform
#python #python-3.x #API #linkedin-api #snowflake-cloud-data-platform
Вопрос:
Я получаю данные из Linkedin AD API с использованием python.
Я получаю данные в виде строки json.
Как я могу вставить этот json в таблицу Snowfalke со столбцом variant?
Вместо variant поля внутри «элементов» также могут быть вставлены как обычные.
Я новичок как в 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": []
}
}
Комментарии:
1. Вероятно, вам следует быть более конкретным. Является ли весь JSON строкой? Это маловероятно. Предоставьте образец строки или JSON и будьте более конкретны в том, что вы хотите — двусмысленность приведет только к игнорированию вашего вопроса.
2. Спасибо за предложение. Я обновил вопрос.
Ответ №1:
Здесь может быть полезна документация.
В частности:
INSERT INTO myTable (myColumn)
SELECT ('{"key3": "value3", "key4": "value4"}'::VARIANT);
Просто вставьте свою строку JSON в соответствующее место.
Ответ №2:
Вот пример на python того, как вставлять данные JSON:
https://github.com/snowflakedb/snowflake-connector-python/blob/master/test/test_cursor.py#L456
Я полагаю, вам не хватает parse_json
функции из вашей вставки.