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

Python Discussion :

TypeError: read_xx() takes exactly 3 arguments (2 given) [Python 2.X]


Sujet :

Python

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2016
    Messages : 3
    Points : 2
    Points
    2
    Par défaut TypeError: read_xx() takes exactly 3 arguments (2 given)
    Bonjour,

    Je suis toute débutante en python et je rencontre une erreure que je n'arrive pas à résoudre.
    je suis en train d'implémenter une base postgres à l'aide de code python à partir de fichiers excel.
    pour les trois premieres tables tout s'est bien passé et là je rencontre cette erreur alors que le code est exactement le même que pour les tables qui ont marché.
    quelqu'un pourrait-il trouver la solution de mon problème?
    voici mon code:
    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
    80
    81
    def read_biometrie_pulli(self, conn, config):
            i = 1
            while (config.has_section('biometrie_pulli_' + str(i))):
                biometrie_pulli_number = 'biometrie_pulli_' + str(i)
                print biometrie_pulli_number
     
                wb = open_workbook(config.get(biometrie_pulli_number, 'file').decode('UTF-8'))
                sheet = wb.sheet_by_name(config.get(biometrie_pulli_number, 'sheet').decode('UTF-8'))
     
                m = self.get_columnsNumber(config, sheet, biometrie_pulli_number)
     
                items = config.items(biometrie_pulli_number)
     
                for row in range(1, sheet.nrows):
                    print row
                    if sheet.cell(row, 0).ctype is not XL_CELL_BLANK and sheet.cell(row, 0).ctype is not XL_CELL_EMPTY:
                        self.logger.info(sheet.cell(row, 0).value)
     
                        try:
                            biometrie_pulli = dict()
                            for item in items:
                                key, value = item[0], item[1]
                                if key not in ('file', 'sheet'):
                                    key, type = item[0], item[1].split(';')[1]
                                    if type == 'date':
                                        val = sheet.cell(row, m[key]).value
                                        try:
                                            val = xldate_as_tuple(val, wb.datemode)
                                            val = datetime.date(val[0], val[1], val[2])
                                            biometrie_pulli[key] = val
                                        except:
                                            pass
                                    elif type == 'float':
                                        val = sheet.cell(row, m[key]).value
                                        try:
                                            float(val)
                                            biometrie_pulli[key] = val
                                        except:
                                            pass
                                    else:
                                        biometrie_pulli[key] = sheet.cell(row, m[key]).value
     
                            self.record_biometrie_pulli(conn, biometrie_pulli)
     
                        except Exception as e:  # pass
                            print row
                            print e
                            self.logger.error("\t ERREUR SUR  ligne : " + str(row))
                            self.logger.error("\t Message : " + e.message)
                            exit(0)
     
                i = i + 1
    def record_biometrie_pulli(self, conn, biometrie_pulli):
     
            cur = conn.cursor()
     
            keys = biometrie_pulli.keys()
            query = u"insert into biometrie_pulli (" + ", ".join(keys) + ") values ("
            values = list()
            for key in keys:
                val = biometrie_pulli[key]
                try:
                    val = str(val)
                except:
                    pass
                val = val.replace('\'', '\'\' ')
                values.append("'" + val + "'")
            query += ", ".join(values) + ")"
     
            self.logger.debug(query)
     
            try:
                cur.execute(query)
            except Exception as e:
                print query
                print e
                self.logger.error(query)
                self.logger.error(e)
     
            cur.close()
            conn.commit()
    Je vous remercie pour votre aide
    JV

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Le message d'erreur dit que la fonction read_xx() nécessite trois arguments.

    Cette fonction ne fait pas partie du code que tu montres ni un appel à cette fonction. Donc impossible d'en dire plus.

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2016
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Salut,

    Le message d'erreur dit que la fonction read_xx() nécessite trois arguments.

    Cette fonction ne fait pas partie du code que tu montres ni un appel à cette fonction. Donc impossible d'en dire plus.
    oui désolée il manque effectivement la partie message d'erreur
    la voici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    C:\Python27\python.exe C:/Users/et_agp03/Desktop/bd_busard/Python/update.py
    Fichier de LOGS : C:\Users\et_agp03\Desktop\bd_busard\logs\log_updates.txt
    Traceback (most recent call last):
      File "C:/Users/et_agp03/Desktop/bd_busard/Python/update.py", line 1481, in <module>
        u.do_the_job(config)
      File "C:/Users/et_agp03/Desktop/bd_busard/Python/update.py", line 1453, in do_the_job
        self.read_biometrie_pulli(postgresconn)
    TypeError: read_biometrie_pulli() takes exactly 3 arguments (2 given)
     
    Process finished with exit code 1

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    def read_biometrie_pulli(self, conn, config):
    Ta fonction demande le connecteur de la base de données et un objet "config" qui semble manquant à l'appel de celle-ci

    Ligne 1453:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        self.read_biometrie_pulli(postgresconn) # manque quelque chose ici

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2016
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    super! merci beaucoup, tu as trouvé mon problème, ça m'avait complètement échapé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [V8] TypeError: create() takes exactly 2 arguments (5 given)
    Par mondila dans le forum Odoo (ex-OpenERP)
    Réponses: 2
    Dernier message: 04/09/2015, 17h00
  2. Réponses: 1
    Dernier message: 18/08/2015, 04h51
  3. Réponses: 5
    Dernier message: 22/05/2011, 08h24
  4. Réponses: 11
    Dernier message: 17/08/2010, 00h21
  5. TypeError: this constructor takes no arguments
    Par mfaty dans le forum Général Python
    Réponses: 5
    Dernier message: 26/08/2009, 23h17

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