mirror of
https://github.com/python/cpython.git
synced 2025-07-28 21:55:21 +00:00
Patch #1635454: the csv.DictWriter class now includes the offending
field names in its exception message if you try to write a record with a dictionary containing fields not in the CSV field names list.
This commit is contained in:
parent
ceede5c359
commit
94fe3f58d0
2 changed files with 8 additions and 3 deletions
|
@ -115,9 +115,10 @@ class DictWriter:
|
|||
|
||||
def _dict_to_list(self, rowdict):
|
||||
if self.extrasaction == "raise":
|
||||
for k in rowdict.keys():
|
||||
if k not in self.fieldnames:
|
||||
raise ValueError, "dict contains fields not in fieldnames"
|
||||
wrong_fields = [k for k in rowdict if k not in self.fieldnames]
|
||||
if wrong_fields:
|
||||
raise ValueError("dict contains fields not in fieldnames: " +
|
||||
", ".join(wrong_fields))
|
||||
return [rowdict.get(key, self.restval) for key in self.fieldnames]
|
||||
|
||||
def writerow(self, rowdict):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue