diff --git a/pandas/core/index.py b/pandas/core/index.py index 0d65577546f8b..0c6e490f3eb50 100644 --- a/pandas/core/index.py +++ b/pandas/core/index.py @@ -470,12 +470,11 @@ def to_native_types(self, slicer=None, na_rep='', float_format=None): values = self if slicer is not None: values = values[slicer] - mask = isnull(values) - values = np.array(values,dtype=object) - if self.is_all_dates: - return _date_formatter(self) + return _date_formatter(values) else: + mask = isnull(values) + values = np.array(values,dtype=object) values[mask] = na_rep return values.tolist() diff --git a/pandas/tests/test_frame.py b/pandas/tests/test_frame.py index 313e4a96798d1..881bc4c268af4 100644 --- a/pandas/tests/test_frame.py +++ b/pandas/tests/test_frame.py @@ -4697,6 +4697,22 @@ def test_to_csv_float32_nanrep(self): lines = f.readlines() self.assert_(lines[1].split(',')[2] == '999') + @slow + def test_to_csv_boundry_conditions(self): + from pandas.util.testing import makeTimeDataFrame + + with ensure_clean() as path: + + df = makeTimeDataFrame(25000) + df.to_csv(path) + rs = pan.read_csv(path, index_col=0, parse_dates=True) + assert_frame_equal(rs, df) + + df = makeTimeDataFrame(25001) + df.to_csv(path) + rs = pan.read_csv(path, index_col=0, parse_dates=True) + assert_frame_equal(rs, df) + def test_to_csv_withcommas(self): # Commas inside fields should be correctly escaped when saving as CSV.