diff --git a/unicodecsv/py3.py b/unicodecsv/py3.py index 13a8bf7..42cecce 100644 --- a/unicodecsv/py3.py +++ b/unicodecsv/py3.py @@ -48,7 +48,13 @@ def __init__(self, f, dialect=None, encoding='utf-8', errors='strict', for kwd_name in kwds.keys()]): dialect = csv.excel - f = (bs.decode(encoding, errors=errors) for bs in f) + def _safe_decode(bs): + if not isinstance(bs, str): + return bs.decode(encoding, errors=errors) + else: + return bs + + f = (_safe_decode(bs) for bs in f) self.reader = csv.reader(f, dialect, **kwds) def __next__(self):