1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import functools
- import numpy as np
- import pytest
- import pandas as pd
- import pandas._testing as tm
- pytest.importorskip("odf")
- @pytest.fixture(autouse=True)
- def cd_and_set_engine(monkeypatch, datapath):
- func = functools.partial(pd.read_excel, engine="odf")
- monkeypatch.setattr(pd, "read_excel", func)
- monkeypatch.chdir(datapath("io", "data", "excel"))
- def test_read_invalid_types_raises():
- # the invalid_value_type.ods required manually editing
- # of the included content.xml file
- with pytest.raises(ValueError, match="Unrecognized type awesome_new_type"):
- pd.read_excel("invalid_value_type.ods")
- def test_read_writer_table():
- # Also test reading tables from an text OpenDocument file
- # (.odt)
- index = pd.Index(["Row 1", "Row 2", "Row 3"], name="Header")
- expected = pd.DataFrame(
- [[1, np.nan, 7], [2, np.nan, 8], [3, np.nan, 9]],
- index=index,
- columns=["Column 1", "Unnamed: 2", "Column 3"],
- )
- result = pd.read_excel("writertable.odt", sheet_name="Table1", index_col=0)
- tm.assert_frame_equal(result, expected)
- def test_read_newlines_between_xml_elements_table():
- # GH#45598
- expected = pd.DataFrame(
- [[1.0, 4.0, 7], [np.nan, np.nan, 8], [3.0, 6.0, 9]],
- columns=["Column 1", "Column 2", "Column 3"],
- )
- result = pd.read_excel("test_newlines.ods")
- tm.assert_frame_equal(result, expected)
|