IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MySQL Discussion :

associer label et valeur pour json


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2019
    Messages : 4
    Par défaut associer label et valeur pour json
    Bonjour,

    Suite à un poste précédemment crée j'ai réussi à faire les requêtes que je souhaite sur ma bdd. Cependant, je ne sors que les lignes de ma bdd.

    En ce moment j'ai ce résultat :

    [272, "niveauHuile", "2019-02-25 11:17:55.004000", "500"]

    Or je voudrais ça par exemple :

    [id : 272, nom : "niveauHuile", date : "2019-02-25 11:17:55.004000", valeur : "500"]

    Je cherche par la suite à envoyer ces données dans un json avec le format suivant (le contenu n'a rien à voir avec mon cas je l'ai pris d'un exemple) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    my_json_string = """{
       "article": [
     
          {
             "id":"01",
             "language": "JSON",
             "edition": "first",
             "author": "Derrick Mwiti"
          },
     
          {
             "id":"02",
             "language": "Python",
             "edition": "second",
             "author": "Derrick Mwiti"
          }
       ],
    Je voudrais faire ça en python et pour l'instant j'ai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    try :
        connection = mc.connect(host = "localhost",
                                 user = "root",
                                 passwd = "",
                                 db = "et")
     
    except mc.Error as e:
        print("Error %d: %s" % (e.args[0], e.args[1]))
        sys.exit(1)
    cursor = connection.cursor()
    cursor.execute("SELECT Id_Record,Id_Num,Horodatage,valeur FROM periodic_values WHERE Id_Num ='defaut'")
    result = cursor.fetchall()
    for r in result:
        print(r)
     
     
    cursor.close()
    connection.close()
     
     
    json = json.dumps(result, default = str)
    fichier = open("E1.json", "w")
    fichier.write(json)
    fichier.close()
    Je n'arrive pas à trouver la solution pour associer le label à sa valeur. Puis l'écrire dans un json. Je poste ça dans la partie SQL parce que je pense que la solution se trouve à ce niveau concernant l'association du label à la valeur. Je suis preneur de tout conseil !

  2. #2
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 883
    Par défaut
    Salut El pipo.

    Tout simplement en faisant une mise en forme du vidage de votre table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    --------------
    START TRANSACTION
    --------------
     
    --------------
    DROP DATABASE IF EXISTS `base`
    --------------
     
    --------------
    CREATE DATABASE IF NOT EXISTS `base`
            DEFAULT CHARACTER SET `latin1`
            DEFAULT COLLATE       `latin1_general_ci`
    --------------
     
    --------------
    DROP TABLE IF EXISTS `test`
    --------------
     
    --------------
    CREATE TABLE `test`
    ( `id`      integer unsigned not null primary key,
      `nom`     varchar(255)     not null,
      `date`    timestamp(6)     not null,
      `valeur`  decimal(15,2)    not null
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`latin1` COLLATE=`latin1_general_ci`
      ROW_FORMAT=COMPRESSED
    --------------
     
    --------------
    insert into `test` (`id`,`nom`,`date`,`valeur`) values
      (272, 'niveauHuile', '2019-02-25 11:17:55.004000', 500.00),
      (584, 'blablabla',   '2019-02-25 15:44:12.123456', 200.00),
      (879, 'essence',     '2019-02-25 17:29:35.654321', 150.00)
    --------------
     
    --------------
    select * from `test`
    --------------
     
    +-----+-------------+----------------------------+--------+
    | id  | nom         | date                       | valeur |
    +-----+-------------+----------------------------+--------+
    | 272 | niveauHuile | 2019-02-25 11:17:55.004000 | 500.00 |
    | 584 | blablabla   | 2019-02-25 15:44:12.123456 | 200.00 |
    | 879 | essence     | 2019-02-25 17:29:35.654321 | 150.00 |
    +-----+-------------+----------------------------+--------+
    --------------
    select    concat('"article":[\n',group_concat(concat('{\n"id":',`id`,',\n"nom":"',`nom`,'",\n"date":"',`date`,'",\n"valeur":"',`valeur`,'"\n}') order by `id` separator ','),'\n]') as ''
        from  `test`
    --------------
     
    +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    |                                                                                                                                                                                                                                                                                       |
    +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | "article":[
    {
    "id":272,
    "nom":"niveauHuile",
    "date":"2019-02-25 11:17:55.004000",
    "valeur":"500.00"
    },{
    "id":584,
    "nom":"blablabla",
    "date":"2019-02-25 15:44:12.123456",
    "valeur":"200.00"
    },{
    "id":879,
    "nom":"essence",
    "date":"2019-02-25 17:29:35.654321",
    "valeur":"150.00"
    }
    ] |
    +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    --------------
    COMMIT
    --------------
     
    Appuyez sur une touche pour continuer...
    @+

Discussions similaires

  1. Associer plusieurs valeurs pour la même colonne
    Par magiabd dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 10/05/2011, 11h52
  2. associer une valeur pour case à cocher
    Par frans_2000 dans le forum Modélisation
    Réponses: 6
    Dernier message: 12/01/2008, 01h15
  3. Décomposer une valeur pour en retirer les octets ?
    Par AsmCode dans le forum Algorithmes et structures de données
    Réponses: 34
    Dernier message: 26/07/2005, 19h01
  4. Réponses: 2
    Dernier message: 17/06/2005, 13h38
  5. Regroupement de valeur pour une date
    Par Erakis dans le forum Requêtes
    Réponses: 4
    Dernier message: 15/06/2005, 21h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo