suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Konvertieren Sie Python JSON in ein Wörterbuch und speichern Sie es in MySQL

d={
    "state": "ok",
    "errmsg": "",
    "data": {
               "id": 1,
                "username": '李元霸'
            }
        }
        }
        }
        for i in d['data']:
           conn = pymysql.connect(host='localhost', port=3306, user='root',         passwd='123456', db='test', charset='utf8')
        cursor = conn.cursor()
        tsql = "insert into test1(id,name)values(%s,'%s')" % (i['id'],i['username'])
        print(tsql)
        cursor.execute(tsql)
        conn.commit()
        conn.close()

Ich kann mit der Einzahlung umgehen, weiß aber nicht, wie ich den Schlüssel hinzufügen soll.
Wie geht das? 2017-01-02": {"16777216": { Diese beiden Schlüssel werden zusammen mit den Feldern ID und Benutzername in MySQL gespeichert

{
    "state": "ok",
    "errmsg": "",
    "data": {
        "2017-01-02": {
            "16777216": {
               "id": 1,
                "username": '李元霸'
            }
        },
        "2017-01-06": {
            "16777456": {
                "id": 2,
                "username": '陈坤'
            }
        },
    }
}

Wörterbuch in MySQL gespeichert

Ich habe es verwendet

代言代言2790 Tage vor1105

Antworte allen(3)Ich werde antworten

  • 習慣沉默

    習慣沉默2017-06-22 11:53:32

    a={xxxx}

    是想要这种吗?

    Antwort
    0
  • 高洛峰

    高洛峰2017-06-22 11:53:32

    d = {
        "state": "ok",
        "errmsg": "",
        "data": {
            "2017-01-02": {
                "16777216": {
                   "id": 1,
                    "username": '李元霸'
                }
            },
            "2017-01-06": {
                "16777456": {
                    "id": 2,
                    "username": '陈坤'
                }
            },
        }
    }
    
    for k, v in d['data'].iteritems():
        number = v.keys()[0]
        print k, number, v[number]['id'], v[number]['username']

    Antwort
    0
  • 学习ing

    学习ing2017-06-22 11:53:32

    用循环将你需要的数据取出来然后插入到数据库就行了
    下面的代码只能处理最简单的情况

    #*--encoding: utf8--*
    
    import json
        
    string = '''{
        "state": "ok",
        "errmsg": "",
        "data": {
            "2017-01-02": {
                "16777216": {
                   "id": 1,
                    "username": "李元霸"
                }
            },
            "2017-01-06": {
                "16777456": {
                    "id": 2,
                    "username": "陈坤"
                }
            }
        }
    }'''
    
    ret  = json.loads(string)
    data = ret['data']
    
    for date in data.keys():
        arr = []
        arr.append(date)
        info = data[date]
        arr.append(info.keys()[0])
        arr.append(info.values()[0]['id'])
        arr.append(info.values()[0]['username'])
        print(arr)
    

    此外,你给的json貌似不怎么正确。。
    run code

    Antwort
    0
  • StornierenAntwort