ValueError: dict contient des champs qui ne sont pas dans fieldnames

Quelqu'un peut m'aider avec cela.

J'ai ma requête Select

selectAttendance = """SELECT * FROM table """

Et je veux que le contenu de ma requête select et inclure un en-tête lorsque je télécharge le fichier csv,
J'ai donc fait cette requête:

with open(os.path.join(current_app.config['UPLOAD_FOLDER'], 'csv.csv'), 'wb') as csvfile:
                writer = csv.DictWriter(csvfile,fieldnames  = ["Bio_Id","Last_Name","First_Name","late","undertime","total_minutes", "total_ot", "total_nsd", "total_absences"], delimiter = ';')
                writer.writeheader()
                writer.writerow(db.session.execute(selectAttendance))
            db.session.commit()

mais il me donne cette erreur

**ValueError: dict contains fields not in fieldnames**

Je veux avoir comme cette sortie dans mon fichier csv téléchargé:

Bio_Id Last_Name First_Name late undertime total_minutes total_ot total_nsd total_absences
1      Joe       Spark       1     1            2            1        1          1

Vous en remercie d'avance.

  • Donc, avez-vous regardé le dictionnaire et les ont comparées avec les en-têtes de vous le préciser?
  • Ce qui est pas clair dans le message d'erreur?
  • Je ne sais pas pourquoi, après ValueError: dict contient des champs qui ne sont pas dans fieldnames:***le contenu de l'sélectionnez*** pas d'économie dans le csv spécifié
  • Parce que, après l'erreur ne se passe rien; le programme est tombé en panne.
  • Im ici parce que je ne comprends pas le msg d'erreur, pouvez-vous l'expliquer?
  • Mon problème était que j'avais pris un dictionnaire clé/valeur dans le premier dictionnaire dans un tableau de dictionnaires et j'ai été en passant arr[0].keys() à fieldnames mais arr[1:] tous avaient encore le champ supplémentaire, d'où l'erreur

InformationsquelleAutor akbsmile | 2014-11-15