From a1b84fc41d4f0dedad4f2f828c533d054decd134 Mon Sep 17 00:00:00 2001 From: David Stephens Date: Wed, 21 Jan 2015 22:05:48 -0800 Subject: [PATCH] BUG: Datareader index name shows unicode characters --- pandas_datareader/data.py | 10 +++++++++- pandas_datareader/tests/test_data.py | 6 ++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/pandas_datareader/data.py b/pandas_datareader/data.py index 3d92d383..8a468314 100644 --- a/pandas_datareader/data.py +++ b/pandas_datareader/data.py @@ -171,7 +171,15 @@ def _retry_read_url(url, retry_count, pause, name): # return 2 rows for the most recent business day if len(rs) > 2 and rs.index[-1] == rs.index[-2]: # pragma: no cover rs = rs[:-1] - return rs + + #Get rid of unicode characters in index name. + try: + rs.index.name = rs.index.name.decode('unicode_escape').encode('ascii', 'ignore') + except AttributeError: + #Python 3 string has no decode method. + rs.index.name = rs.index.name.encode('ascii', 'ignore').decode() + + return rs raise IOError("after %d tries, %s did not " "return a 200 for url %r" % (retry_count, name, url)) diff --git a/pandas_datareader/tests/test_data.py b/pandas_datareader/tests/test_data.py index ee72f090..38d3c271 100644 --- a/pandas_datareader/tests/test_data.py +++ b/pandas_datareader/tests/test_data.py @@ -125,6 +125,12 @@ def test_dtypes(self): assert np.issubdtype(data.High.dtype, np.number) assert np.issubdtype(data.Volume.dtype, np.number) + def test_unicode_date(self): + #GH8967 + data = web.get_data_google('F', start='JAN-01-10', end='JAN-27-13') + self.assertEquals(data.index.name, 'Date') + + class TestYahoo(tm.TestCase): @classmethod def setUpClass(cls):