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

Bibliothèques tierces Python Discussion :

Pandas : Récupértion d'un champ JSON de Mysql


Sujet :

Bibliothèques tierces Python

  1. #1
    Membre actif Avatar de FadeToBlack
    Homme Profil pro
    ...
    Inscrit en
    Août 2010
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : ...
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2010
    Messages : 311
    Points : 202
    Points
    202
    Par défaut Pandas : Récupértion d'un champ JSON de Mysql
    Bonjour,

    Je récupère une base de données Mariadb pour faire des "stats" dessus. Dans une des tables, il y a champ JSON, évidemment avec des données.

    Je n'arrive pas à savoir s'il est possible de récupérer ce champ, et surtout les données à l'intérieur des dictionnaires Json, pour les intégrer dans mon dataframe.

    Auriez vous une idée ou une piste que je puisse exploiter pour arriver à mon but.
    Merci à tous pour votre aide
    Douter de tout, toujours, et surtout de soi-même...

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par FadeToBlack Voir le message
    Auriez vous une idée ou une piste que je puisse exploiter pour arriver à mon but.
    Chercher sur Internet avec les mots clefs "pandas json column"?

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre actif Avatar de FadeToBlack
    Homme Profil pro
    ...
    Inscrit en
    Août 2010
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : ...
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2010
    Messages : 311
    Points : 202
    Points
    202
    Par défaut
    Merci de ta réponse,

    Effectivement j'avais déjà un peu regarder mais, en fait, j'avais surtout trouvé des infos sur l'import de fichier "json".

    Je n'est rien vu qui m'ait convaincu.(Par ailleurs, je débute avec Pandas).

    La seule chose, j'ai retenu c'est pd.io.json.json_normalize. Mais je ne sais pas si c'est une bonne piste.
    Douter de tout, toujours, et surtout de soi-même...

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par FadeToBlack Voir le message
    La seule chose, j'ai retenu c'est pd.io.json.json_normalize. Mais je ne sais pas si c'est une bonne piste.
    Créez un fichier texte de quelques lignes qui ressemble à vos données, puis vous essayez.
    Au pire, vous aurez quelque chose à poster qui permettra de travailler sur quelque chose de concret.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre actif Avatar de FadeToBlack
    Homme Profil pro
    ...
    Inscrit en
    Août 2010
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : ...
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2010
    Messages : 311
    Points : 202
    Points
    202
    Par défaut
    Voici mon code

    l

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    import pandas as pd
    from matplotlib import pyplot as plt
    from connect import * # connexion à la BDD
    import json
     
     
    df = pd.read_sql_query("SELECT content from Table1", con=engine)
    print(df.head())
    pd.io.json.json_normalize(df.content.apply(json.loads))
    Est-ce que cette erreur apparait, lorsque j'ai des éléments vide ( [] ) dans mon champ JSON qui dans les faits est un champ "LONGTEXT"


    Là j'ai une erreur en retour qui me précise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        if any([isinstance(x, dict) for x in y.values()] for y in data):
    AttributeError: 'list' object has no attribute 'values'
    Douter de tout, toujours, et surtout de soi-même...

  6. #6
    Membre actif Avatar de FadeToBlack
    Homme Profil pro
    ...
    Inscrit en
    Août 2010
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : ...
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2010
    Messages : 311
    Points : 202
    Points
    202
    Par défaut
    mon champ LONGTEXT (json) contient en gros la structure suivante :
    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
     
    [{"id":"1",
      "dot":"XXXXX",
      "start":"00:00:00",
      "end":"00:6:52",
      "time":"00:06:52",
      "details":[{
          "ext":"1",
          "start":"00:03:00",
          "end":"00:04:45",
          "ori":"Fla"
            },
          {"ext":"2",
           "start":"00:06:40",
           "end":"00:08:30",
           "ori":"Fla"
           }]
    (etc...)
    }]
    Douter de tout, toujours, et surtout de soi-même...

Discussions similaires

  1. comment formater un champs dans table mysql
    Par rollly dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 24/04/2006, 14h31
  2. Réponses: 10
    Dernier message: 13/03/2006, 14h30
  3. Stocker un object dans un champ de SGBD (MySQL)
    Par F Barbier dans le forum JDBC
    Réponses: 4
    Dernier message: 16/02/2006, 18h29
  4. Copie champs Access vers MySQL
    Par DrSlump dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 02/11/2005, 17h31
  5. Recuperation variable champ selectionnable depuis mysql
    Par mulbek dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 19/10/2005, 12h11

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