Can someone help me with this.
I have my Select query
selectAttendance = \"\"\"SELECT * FROM table \"\"\"
And I want the content o
As the error states: the dictionary that comes from the query contains more key than the field names you specified in the DictWriter constructor.
One solution would be to filter that in advance, something like this:
field_names = ["Bio_Id","Last_Name", ...]
writer = csv.DictWriter(csvfile,fieldnames=field_names , delimiter = ';')
writer.writeheader()
data = {key: value for key, value in db.session.execute(selectAttendance).items()
if key in field_names}
writer.writerow(data)
Another solution could be to construct the query using only those fields:
query = 'SELECT %s FROM table' % ', '.join(field_names)
However, Tim Pietzcker's answer is the best.