Python // Разбор Json для MySQL - PullRequest
0 голосов

У меня есть некоторые проблемы с анализом JSON в ответ.Я хочу загрузить данные в базу данных MySQL.

json вот так:

{
"data":
    [{"dimensions":
        [{"name":"2018-05-01"},
        {"name":"Переходы из поисковых систем","icon_id":"2","icon_type":"traffic-source","id":"organic"},
        {"name":"Смартфоны","id":"mobile"},
        {"name":"Google, результаты поиска","id":"google_search","favicon":"google.com"},
        {"iso_name":"RU MOW","id":"213","name":"Москва"},
        {"icon_id":"225","icon_type":"country","iso_name":"RU","id":"225","name":"Россия"},
        {"name":null,"url":null,"favicon":null}],
    "metrics":[13.0,38.0]}]
}

Я хочу получить такой результат:

MySQL header => ym:s:date  // ym:s:lastTrafficSource // ym:s:deviceCategory//ym:s:lastSearchEngine // ym:s:regionCity // ym:s:regionCountry // ym:s:lastSearchPhrase // ym:s:visits // ym:s:pageviews

insert rows => 2018-05-01 // Переходы из поисковых систем // Смартфоны // Google, результаты поиска // Москва // Россия // null // 13.0 // 38.0

Пример моей функции:

def get_json():
    r = requests.get(url, params=params)
    json_data = json.loads(r.text)
    parse = json_data.get('data')
    for rows in parse:
        get_dimensions = rows.get('dimensions')
        get_metrics = rows.get('metrics')
        for names in get_dimensions:
            get_names = names.get('name')
            print(get_names)

Не могу понять, как составить список измерений и метрик и загрузить в MySQL

1 Ответ

0 голосов

Решено:

def get_json():
    r = requests.get(url, params=params)
    json_data = json.loads(r.text)
    parse = json_data.get('data')
    for rows in parse:
        get_dimensions = rows.get('dimensions')

        date = get_dimensions[0].get('name')
        source = get_dimensions[1].get('name')
        device = get_dimensions[2].get('name')
        source1 = get_dimensions[3].get('name')
        city = get_dimensions[4].get('name')
        country = get_dimensions[5].get('name')
        search_phrase = get_dimensions[6].get('name')

        row = []
        row.append(date)
        row.append(source)
        row.append(device)
        row.append(source1)
        row.append(city)
        row.append(country)
        row.append(search_phrase)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...