Skip to content

Commit af4b22d

Browse files
committed
fixup! BUG: Handle sheetname deprecation directly
1 parent 7c4d14a commit af4b22d

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

pandas/io/excel.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
import pandas.compat.openpyxl_compat as openpyxl_compat
3232
from warnings import warn
3333
from distutils.version import LooseVersion
34-
from pandas.util._decorators import Appender, deprecate_kwarg
34+
from pandas.util._decorators import Appender
3535
from textwrap import fill
3636

3737
__all__ = ["read_excel", "ExcelWriter", "ExcelFile"]
@@ -204,9 +204,8 @@ def read_excel(io, sheet_name=0, header=0, skiprows=None, skip_footer=0,
204204

205205
# Can't use _deprecate_kwarg since sheetname=None has a special meaning
206206
if is_integer(sheet_name) and sheet_name == 0 and 'sheetname' in kwds:
207-
# deprecation warning
208207
warnings.warn("The `sheetname` keyword is deprecated, use "
209-
"`sheet_name` instead", FutureWarning)
208+
"`sheet_name` instead", FutureWarning, stacklevel=2)
210209
sheet_name = kwds.pop("sheetname")
211210
elif 'sheetname' in kwds:
212211
raise TypeError("Cannot specify both `sheet_name` and `sheetname`. "

pandas/tests/io/test_excel.py

+9-5
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,7 @@ def test_reading_all_sheets(self):
408408
# Ensure a dict is returned.
409409
# See PR #9450
410410
basename = 'test_multisheet'
411-
dfs = self.get_exceldf(basename, sheetname=None)
411+
dfs = self.get_exceldf(basename, sheet_name=None)
412412
# ensure this is not alphabetical to test order preservation
413413
expected_keys = ['Charlie', 'Alpha', 'Beta']
414414
tm.assert_contains_all(expected_keys, dfs.keys())
@@ -425,7 +425,7 @@ def test_reading_multiple_specific_sheets(self):
425425
basename = 'test_multisheet'
426426
# Explicitly request duplicates. Only the set should be returned.
427427
expected_keys = [2, 'Charlie', 'Charlie']
428-
dfs = self.get_exceldf(basename, sheetname=expected_keys)
428+
dfs = self.get_exceldf(basename, sheet_name=expected_keys)
429429
expected_keys = list(set(expected_keys))
430430
tm.assert_contains_all(expected_keys, dfs.keys())
431431
assert len(expected_keys) == len(dfs.keys())
@@ -435,7 +435,7 @@ def test_reading_all_sheets_with_blank(self):
435435
# In the case where some sheets are blank.
436436
# Issue #11711
437437
basename = 'blank_with_header'
438-
dfs = self.get_exceldf(basename, sheetname=None)
438+
dfs = self.get_exceldf(basename, sheet_name=None)
439439
expected_keys = ['Sheet1', 'Sheet2', 'Sheet3']
440440
tm.assert_contains_all(expected_keys, dfs.keys())
441441

@@ -557,6 +557,10 @@ def test_sheet_name_and_sheetname(self):
557557
tm.assert_frame_equal(df1, dfref, check_names=False)
558558
tm.assert_frame_equal(df2, dfref, check_names=False)
559559

560+
def test_sheet_name_both_raises(self):
561+
with tm.assert_raises_regex(TypeError, "Cannot specify both"):
562+
self.get_exceldf('test1', sheetname='Sheet1', sheet_name='Sheet1')
563+
560564

561565
class XlrdTests(ReadingTestsBase):
562566
"""
@@ -590,7 +594,7 @@ def test_read_xlrd_Book(self):
590594
result = read_excel(xl, "SheetA")
591595
tm.assert_frame_equal(df, result)
592596

593-
result = read_excel(book, sheetname="SheetA", engine="xlrd")
597+
result = read_excel(book, sheet_name="SheetA", engine="xlrd")
594598
tm.assert_frame_equal(df, result)
595599

596600
@tm.network
@@ -692,7 +696,7 @@ def tdf(sheetname):
692696
with ExcelWriter(pth) as ew:
693697
for sheetname, df in iteritems(dfs):
694698
df.to_excel(ew, sheetname)
695-
dfs_returned = read_excel(pth, sheetname=sheets)
699+
dfs_returned = read_excel(pth, sheet_name=sheets)
696700
for s in sheets:
697701
tm.assert_frame_equal(dfs[s], dfs_returned[s])
698702

0 commit comments

Comments
 (0)