Python // Разбор Json для MySQL

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
    Таблица mysql уже существует? Если да, вы должны написать, как это выглядит (DDL), если нет, вы можете использовать инструменты, которые облегчают вставку, обновление до любого SQL. Используйте sqlalchemy, если вы недостаточно знакомы с sql.
Показать ещё 4 комментария
Теги:
parsing

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)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню