Maison  >  Questions et réponses  >  le corps du texte

Convertissez python json en dictionnaire et stockez-le dans 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()

Je peux gérer ce type de dépôt, mais je ne sais pas comment ajouter la clé
Comment procéder comme suit 2017-01-02": {"16777216": { Ces deux clés sont stockées dans MySQL avec les champs identifiant et nom d'utilisateur

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

Dictionnaire stocké dans MySQL

Je l'ai utilisé

代言代言2675 Il y a quelques jours983

répondre à tous(3)je répondrai

  • 習慣沉默

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

    a={xxxx}

    Tu veux ça ?

    répondre
    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']

    répondre
    0
  • 学习ing

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

    Utilisez simplement une boucle pour extraire les données dont vous avez besoin et les insérer dans la base de données
    Le code suivant ne peut gérer que le cas le plus simple

    #*--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)
    

    D’ailleurs, ce que tu as donné json ne semble pas très correct. .
    exécuter le code

    répondre
    0
  • Annulerrépondre