From 8ffc8294af98e6c03938f727138652ee80c7e8ad Mon Sep 17 00:00:00 2001 From: Debian Science Team Date: Sun, 2 Feb 2025 11:17:13 +0000 Subject: [PATCH] Fix test failures when xlsxwriter is not installed Author: Rebecca N. Palmer Forwarded: no Gbp-Pq: Name 2p1_openpyxl_errors.patch --- pandas/tests/io/excel/test_openpyxl.py | 3 ++- pandas/tests/io/excel/test_writers.py | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pandas/tests/io/excel/test_openpyxl.py b/pandas/tests/io/excel/test_openpyxl.py index e53b5830..99c19638 100644 --- a/pandas/tests/io/excel/test_openpyxl.py +++ b/pandas/tests/io/excel/test_openpyxl.py @@ -124,13 +124,14 @@ def test_engine_kwargs_append_invalid(ext): DataFrame(["good"]).to_excel(writer, sheet_name="Sheet2") +@td.skip_if_no("xlsxwriter") @pytest.mark.parametrize("data_only, expected", [(True, 0), (False, "=1+1")]) def test_engine_kwargs_append_data_only(ext, data_only, expected): # GH 43445 # tests whether the data_only engine_kwarg actually works well for # openpyxl's load_workbook with tm.ensure_clean(ext) as f: - DataFrame(["=1+1"]).to_excel(f) + DataFrame(["=1+1"]).to_excel(f, engine="xlsxwriter") # with openpyxl here, data_only=True gives None/np.nan not 0 with ExcelWriter( f, engine="openpyxl", mode="a", engine_kwargs={"data_only": data_only} ) as writer: diff --git a/pandas/tests/io/excel/test_writers.py b/pandas/tests/io/excel/test_writers.py index 292eab2d..09488045 100644 --- a/pandas/tests/io/excel/test_writers.py +++ b/pandas/tests/io/excel/test_writers.py @@ -1420,6 +1420,8 @@ class TestExcelWriterEngineTests: assert isinstance(writer, _XlsxWriter) else: assert isinstance(writer, klass) + # openpyxl raises on closing if no sheets are written + DataFrame().to_excel(writer, sheet_name="Sheet1") def test_ExcelWriter_dispatch_raises(self): with pytest.raises(ValueError, match="No engine"): -- 2.30.2