@@ -51,12 +51,16 @@ def ignore_xlrd_time_clock_warning():
51
51
yield
52
52
53
53
54
- @td .skip_if_no ('xlrd' )
55
54
@pytest .mark .parametrize ("ext" , ['.xls' , '.xlsx' , '.xlsm' ])
56
55
class TestReaders :
57
- # This is based on ExcelWriterBase
58
56
59
- @pytest .fixture (autouse = True , params = ['xlrd' , None ])
57
+ @pytest .fixture (autouse = True , params = [
58
+ # Add any engines to test here
59
+ pytest .param ('xlrd' , marks = pytest .mark .skipif (
60
+ not td .safe_import ("xlrd" ), reason = "no xlrd" )),
61
+ pytest .param (None , marks = pytest .mark .skipif (
62
+ not td .safe_import ("xlrd" ), reason = "no xlrd" )),
63
+ ])
60
64
def cd_and_set_engine (self , request , datapath , monkeypatch ):
61
65
"""
62
66
Change directory and set engine for read_excel calls.
@@ -74,7 +78,6 @@ def df_ref(self):
74
78
parse_dates = True , engine = 'python' )
75
79
return df_ref
76
80
77
- @td .skip_if_no ("xlrd" , "1.0.1" ) # see gh-22682
78
81
def test_usecols_int (self , ext , df_ref ):
79
82
df_ref = df_ref .reindex (columns = ["A" , "B" , "C" ])
80
83
@@ -96,7 +99,6 @@ def test_usecols_int(self, ext, df_ref):
96
99
tm .assert_frame_equal (df1 , df_ref , check_names = False )
97
100
tm .assert_frame_equal (df2 , df_ref , check_names = False )
98
101
99
- @td .skip_if_no ('xlrd' , '1.0.1' ) # GH-22682
100
102
def test_usecols_list (self , ext , df_ref ):
101
103
102
104
df_ref = df_ref .reindex (columns = ['B' , 'C' ])
@@ -109,7 +111,6 @@ def test_usecols_list(self, ext, df_ref):
109
111
tm .assert_frame_equal (df1 , df_ref , check_names = False )
110
112
tm .assert_frame_equal (df2 , df_ref , check_names = False )
111
113
112
- @td .skip_if_no ('xlrd' , '1.0.1' ) # GH-22682
113
114
def test_usecols_str (self , ext , df_ref ):
114
115
115
116
df1 = df_ref .reindex (columns = ['A' , 'B' , 'C' ])
@@ -264,7 +265,6 @@ def test_excel_passes_na(self, ext):
264
265
columns = ['Test' ])
265
266
tm .assert_frame_equal (parsed , expected )
266
267
267
- @td .skip_if_no ('xlrd' , '1.0.1' ) # GH-22682
268
268
@pytest .mark .parametrize ('arg' , ['sheet' , 'sheetname' , 'parse_cols' ])
269
269
def test_unexpected_kwargs_raises (self , ext , arg ):
270
270
# gh-17964
@@ -275,7 +275,6 @@ def test_unexpected_kwargs_raises(self, ext, arg):
275
275
with pytest .raises (TypeError , match = msg ):
276
276
pd .read_excel (excel , ** kwarg )
277
277
278
- @td .skip_if_no ('xlrd' , '1.0.1' ) # GH-22682
279
278
def test_excel_table_sheet_by_index (self , ext , df_ref ):
280
279
281
280
excel = ExcelFile ('test1' + ext )
@@ -493,7 +492,6 @@ def test_date_conversion_overflow(self, ext):
493
492
result = pd .read_excel ('testdateoverflow' + ext )
494
493
tm .assert_frame_equal (result , expected )
495
494
496
- @td .skip_if_no ("xlrd" , "1.0.1" ) # see gh-22682
497
495
def test_sheet_name_and_sheetname (self , ext , df_ref ):
498
496
# gh-10559: Minor improvement: Change "sheet_name" to "sheetname"
499
497
# gh-10969: DOC: Consistent var names (sheetname vs sheet_name)
0 commit comments