Python//解析Json到MySQL

标签 python mysql json parsing

我在解析响应中的 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

最佳答案

已解决:

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)

关于Python//解析Json到MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50348570/

相关文章:

python - Groupby 多列产品聚合

javascript - 无法将长 json 保存到 Internet Explorer 11 中的文件

javascript - HTML5 本地存储(XML/JSON 数据)

mysql - 动态添加一行到 SQL 结果集

mysql - Laravel 在 MySQL 上迁移 150 错误

python - 如何将这个特定的 json 字符串转换成 python 字典?

python - Scipy 输出错误 :undefined symbol: sgegv_

c++ - boost:python 传递一个指向指针的指针作为参数

python - 如果 code-block::does 没有可选参数,Sphinx highlight_language 配置选项有什么意义?

php - 无法使用在 AWS EC2 实例上运行的 laravel 5.2 从数据库中提取数据