Partage
  • Partager sur Facebook
  • Partager sur Twitter

nettoyer bdd en python

    30 juillet 2021 à 7:44:01

    bonjour,

    j'avais un code qui fonctionnais et puis tout d'un coup il c'est mis à ne fonctionner qu'en partit

    url_liste_destinations = 'https:'
    
    with urllib.request.urlopen(url_liste_destinations) as url_destinations:
        #Tableau avec TOUS les fichiers JSON
        ligne_destination = url_destinations.readlines()
        for data_destination in ligne_destination:
            #Parours de la liste des url JSON
            url_jsonfile = data_destination.decode("utf-8").rstrip()
    
            with urllib.request.urlopen(url_jsonfile) as json_file:
    
                #on passe le json en tableau
                destination_dict = json.load(json_file)
    
                #destination_id
                #print("destination_id : ",destination_dict['Destination']['id'])
                destination_id = destination_dict['Destination']['id']
    
                #destination_name
                #print("destination_name : ",destination_dict['Destination']['name'])
                destination_name = destination_dict['Destination']['name']
    
                arrayDescription = destination_dict['Destination']['Description']
                description_json = json.dumps(arrayDescription[0])
                description_dict = json.loads(description_json)
    
                #description_id
                #print("description_id : ",description_dict['id'])
                description_id = description_dict['id']
    
                #description_name
                #print("description_name : ",description_dict['name'])
                description_name = description_dict['name']
    
                description_clean = description_name
                description_clean = re.sub('[^A-Za-z0-9 ]+', '', description_clean).lower()
    
    
    
                #for description in description_clean:
                    #desc_length = len(description)
                    #if desc_length <= 2:
                        #description_clean = description_clean.remove(desc_length)
                        #print(description_clean)
    
                sentence = description_clean
                tokens = nltk.word_tokenize(sentence)
                tagged = nltk.pos_tag(tokens)
                #permet de déterminer le type de chaque mots
                #print(tagged)
                filtered_list = [word_tagged[0] for word_tagged in tagged if not word_tagged[1].startswith('VB') and word_tagged[1] not in ['CC', 'CD', 'DT', 'EX', 'IN', 'JJ', 'JJS', 'MD', 'PRP', 'PRP$', 'RB', 'RBS', 'TO', 'VBD', 'VBG', 'VBN', 'VBZ', 'WDT', 'WRB', 'WP$']]
                #on déclare une variable filtered_list
                # on lui passe le premier element de word_tagged pour chaque word_tagged qui se trouve dans tagged si le second élément de word_tagged ne commence pas par VB et s'il n'est pas présent dans la liste qui contient JJ et DT ...
                # liste pour supprimer : https://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html
                print("description_clean", description_clean)
                print('\r\n')
    
    
                sql = "UPDATE destinations SET description_clean = %s WHERE description_id = %s"
                #on modifie la colonne description_clean pour entrer les nouveaux mots et pour cela on se base sur le id
                print(sql)
                value = ("".join(description_clean), description_id)
                print(value)
                cursor.execute(sql, value)
                conn.commit()


    je ne comprends pas pourquoi ce morceaux de code ne fonctionne plus :

     sentence = description_clean
                tokens = nltk.word_tokenize(sentence)
                tagged = nltk.pos_tag(tokens)
                #permet de déterminer le type de chaque mots
                #print(tagged)
                filtered_list = [word_tagged[0] for word_tagged in tagged if not word_tagged[1].startswith('VB') and word_tagged[1] not in ['CC', 'CD', 'DT', 'EX', 'IN', 'JJ', 'JJS', 'MD', 'PRP', 'PRP$', 'RB', 'RBS', 'TO', 'VBD', 'VBG', 'VBN', 'VBZ', 'WDT', 'WRB', 'WP$']]
                #on déclare une variable filtered_list
                # on lui passe le premier element de word_tagged pour chaque word_tagged qui se trouve dans tagged si le second élément de word_tagged ne commence pas par VB et s'il n'est pas présent dans la liste qui contient JJ et DT ...
                # liste pour supprimer : https://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html
                print("description_clean", description_clean)
                print('\r\n')
    
    
                sql = "UPDATE destinations SET description_clean = %s WHERE description_id = %s"
                #on modifie la colonne description_clean pour entrer les nouveaux mots et pour cela on se base sur le id
                print(sql)
                value = ("".join(description_clean), description_id)
                print(value)
                cursor.execute(sql, value)
                conn.commit()
    

    merci

    • Partager sur Facebook
    • Partager sur Twitter

    Merci à tous. Vous pouvez me retrouver ici :

    🌐 Visitez mon profil sur Comeup

    🚀 Découvrez BeFreelancr

    📱 Retrouvez-moi sur LinkedIn

      30 juillet 2021 à 8:12:20

      Bonjour,

      C'est quoi le message d'erreur ?

      • Partager sur Facebook
      • Partager sur Twitter

      Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
      La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

        30 juillet 2021 à 9:21:22

        Bonjour

        il n'y avait pas de message d'erreur mais en fait il manquait une ligne

        • Partager sur Facebook
        • Partager sur Twitter

        Merci à tous. Vous pouvez me retrouver ici :

        🌐 Visitez mon profil sur Comeup

        🚀 Découvrez BeFreelancr

        📱 Retrouvez-moi sur LinkedIn

        nettoyer bdd en python

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown