Skip to content

UnicodeDecodeError in DataFrame.__repr__() for non-ascii column names #2576

@invisibleroads

Description

@invisibleroads

Here is the traceback using Python 2.7.3 and Pandas trunk.

/pandas/core/frame.pyc in __repr__(self)
    678         Yields Bytestring in Py2, Unicode String in py3.
    679         """
--> 680         return str(self)
    681 
    682     def _repr_html_(self):

/pandas/core/frame.pyc in __str__(self)
    634         if py3compat.PY3:
    635             return self.__unicode__()
--> 636         return self.__bytes__()
    637 
    638     def __bytes__(self):

/pandas/core/frame.pyc in __bytes__(self)
    644         """
    645         encoding = com.get_option("display.encoding")
--> 646         return self.__unicode__().encode(encoding , 'replace')
    647 
    648     def __unicode__(self):

/pandas/core/frame.pyc in __unicode__(self)
    655         buf = StringIO(u"")
    656         if self._need_info_repr_():
--> 657             self.info(buf=buf, verbose=self._verbose_info)
    658         else:
    659             is_wide = self._need_wide_repr()

/pandas/core/frame.pyc in info(self, verbose, buf, max_cols)
1624         dtypes = ['%s(%d)' % k for k in sorted(counts.iteritems())]
1625         lines.append('dtypes: %s' % ', '.join(dtypes))
-> 1626         _put_lines(buf, lines)
1627 
1628     @property

/pandas/core/format.pyc in _put_lines(buf, lines)
1443 def _put_lines(buf, lines):
1444     if any(isinstance(x, unicode) for x in lines):
-> 1445         lines = [unicode(x) for x in lines]
1446     buf.write('\n'.join(lines))
1447 

UnicodeDecodeError: 'ascii' codec can't decode byte 0xd5 in position 8: ordinal not in range(128)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions