@@ -338,7 +338,7 @@ def test_multiindex_interval_datetimes(self, tmp_excel):
338338 )
339339 tm .assert_frame_equal (result , expected )
340340
341- @pytest .mark .parametrize ("merge_cells" , [True , False ])
341+ @pytest .mark .parametrize ("merge_cells" , [True , False , "columns" ])
342342 def test_excel_round_trip_with_periodindex (self , tmp_excel , merge_cells ):
343343 # GH#60099
344344 df = DataFrame (
@@ -352,13 +352,7 @@ def test_excel_round_trip_with_periodindex(self, tmp_excel, merge_cells):
352352 ),
353353 )
354354 df .to_excel (tmp_excel , merge_cells = merge_cells )
355-
356355 result = pd .read_excel (tmp_excel , index_col = [0 , 1 ])
357- if result .index .levels [0 ].dtype == "datetime64[us]" :
358- result .index = result .index .set_levels (
359- result .index .levels [0 ].astype ("datetime64[s]" ), level = 0
360- )
361-
362356 expected = DataFrame (
363357 {"A" : [1 , 2 ]},
364358 MultiIndex .from_arrays (
@@ -372,9 +366,14 @@ def test_excel_round_trip_with_periodindex(self, tmp_excel, merge_cells):
372366 names = ["date" , "category" ],
373367 ),
374368 )
375- expected .index = expected .index .set_levels (
376- expected .index .levels [0 ].astype ("datetime64[s]" ), level = 0
377- )
369+ if tmp_excel .endswith (".ods" ):
370+ expected .index = expected .index .set_levels (
371+ expected .index .levels [0 ].astype ("datetime64[s]" ), level = 0
372+ )
373+ else :
374+ expected .index = expected .index .set_levels (
375+ expected .index .levels [0 ].astype ("datetime64[us]" ), level = 0
376+ )
378377
379378 tm .assert_frame_equal (result , expected )
380379
0 commit comments