diff --git a/src/benchmarktool/result/xlsx_gen/plot_sheets/helper_sheet.py b/src/benchmarktool/result/xlsx_gen/plot_sheets/helper_sheet.py index e563cc6..7d9fe13 100644 --- a/src/benchmarktool/result/xlsx_gen/plot_sheets/helper_sheet.py +++ b/src/benchmarktool/result/xlsx_gen/plot_sheets/helper_sheet.py @@ -504,6 +504,10 @@ def finalize(self) -> None: col += 1 self.start_cols[sheet] = col for setting in range(self.setting_n): + # pre-create all columns of the current table block with object dtype. + for block_col in range(col, col + 4): + if block_col not in self.content.columns: + self.content[block_col] = None # setting refs self._add_setting_headers( sheet_ref=sheet_ref, diff --git a/tests/result/xlsx_gen/test_helper_sheet.py b/tests/result/xlsx_gen/test_helper_sheet.py index 0a1aea7..f2af0a4 100644 --- a/tests/result/xlsx_gen/test_helper_sheet.py +++ b/tests/result/xlsx_gen/test_helper_sheet.py @@ -439,14 +439,14 @@ def test_finalize(self): self.assertDictEqual(self.sheet.float_occur, {"time": [1, 3], "timeout": [2, 4]}) self.assertEqual(self.sheet.setting_n, 2) - pd.testing.assert_frame_equal( - self.sheet.content, - pd.DataFrame( - { - 0: pd.Series([None, "time", "timeout"], dtype=object), - 1: pd.Series([None, 1.0, 2.0], dtype=object), - }, - ), + pd.testing.assert_series_equal( + self.sheet.content[0], + pd.Series([None, "time", "timeout"], dtype=object, name=0), + check_dtype=False, + ) + pd.testing.assert_series_equal( + self.sheet.content[1], + pd.Series([None, 1.0, 2.0], dtype=object, name=1), check_dtype=False, ) @@ -478,14 +478,14 @@ def test_finalize(self): self.assertDictEqual(self.sheet.float_occur, {"time": [1], "timeout": [2]}) self.assertEqual(self.sheet.setting_n, 1) - pd.testing.assert_frame_equal( - self.sheet.content, - pd.DataFrame( - { - 0: pd.Series([None, "time", "timeout"], dtype=object), - 1: pd.Series([None, 1.0, 2.0], dtype=object), - }, - ), + pd.testing.assert_series_equal( + self.sheet.content[0], + pd.Series([None, "time", "timeout"], dtype=object, name=0), + check_dtype=False, + ) + pd.testing.assert_series_equal( + self.sheet.content[1], + pd.Series([None, 1.0, 2.0], dtype=object, name=1), check_dtype=False, )