#19449: Handle non-string keys when generating 'fieldnames' error.
Backport from 3.3 6e5afeada7ca.
diff --git a/Lib/csv.py b/Lib/csv.py
index 98480ba..fc080cc 100644
--- a/Lib/csv.py
+++ b/Lib/csv.py
@@ -140,8 +140,8 @@
if self.extrasaction == "raise":
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))
+ raise ValueError("dict contains fields not in fieldnames: "
+ + ", ".join([repr(x) for x in wrong_fields]))
return [rowdict.get(key, self.restval) for key in self.fieldnames]
def writerow(self, rowdict):