Skip to content

Commit adc7455

Browse files
jrebackAnkurDedania
authored andcommitted
DEPR: remove openpyxl deprecation warnings (pandas-dev#15185)
closes pandas-dev#15090
1 parent 27013f9 commit adc7455

File tree

2 files changed

+24
-11
lines changed

2 files changed

+24
-11
lines changed

pandas/io/excel.py

+9-3
Original file line numberDiff line numberDiff line change
@@ -788,9 +788,15 @@ def __init__(self, path, engine=None, **engine_kwargs):
788788

789789
# Create workbook object with default optimized_write=True.
790790
self.book = Workbook()
791+
791792
# Openpyxl 1.6.1 adds a dummy sheet. We remove it.
792793
if self.book.worksheets:
793-
self.book.remove_sheet(self.book.worksheets[0])
794+
try:
795+
self.book.remove(self.book.worksheets[0])
796+
except AttributeError:
797+
798+
# compat
799+
self.book.remove_sheet(self.book.worksheets[0])
794800

795801
def save(self):
796802
"""
@@ -911,7 +917,7 @@ def write_cells(self, cells, sheet_name=None, startrow=0, startcol=0):
911917

912918
for cell in cells:
913919
colletter = get_column_letter(startcol + cell.col + 1)
914-
xcell = wks.cell("%s%s" % (colletter, startrow + cell.row + 1))
920+
xcell = wks["%s%s" % (colletter, startrow + cell.row + 1)]
915921
xcell.value = _conv_value(cell.val)
916922
style_kwargs = {}
917923

@@ -952,7 +958,7 @@ def write_cells(self, cells, sheet_name=None, startrow=0, startcol=0):
952958
# Ignore first cell. It is already handled.
953959
continue
954960
colletter = get_column_letter(col)
955-
xcell = wks.cell("%s%s" % (colletter, row))
961+
xcell = wks["%s%s" % (colletter, row)]
956962
xcell.style = xcell.style.copy(**style_kwargs)
957963

958964
@classmethod

pandas/io/tests/test_excel.py

+15-8
Original file line numberDiff line numberDiff line change
@@ -2006,8 +2006,8 @@ def test_write_cells_merge_styled(self):
20062006
writer.write_cells(merge_cells, sheet_name=sheet_name)
20072007

20082008
wks = writer.sheets[sheet_name]
2009-
xcell_b1 = wks.cell('B1')
2010-
xcell_a2 = wks.cell('A2')
2009+
xcell_b1 = wks['B1']
2010+
xcell_a2 = wks['A2']
20112011
self.assertEqual(xcell_b1.style, openpyxl_sty_merged)
20122012
self.assertEqual(xcell_a2.style, openpyxl_sty_merged)
20132013

@@ -2118,8 +2118,8 @@ def test_write_cells_merge_styled(self):
21182118
writer.write_cells(merge_cells, sheet_name=sheet_name)
21192119

21202120
wks = writer.sheets[sheet_name]
2121-
xcell_b1 = wks.cell('B1')
2122-
xcell_a2 = wks.cell('A2')
2121+
xcell_b1 = wks['B1']
2122+
xcell_a2 = wks['A2']
21232123
self.assertEqual(xcell_b1.font, openpyxl_sty_merged)
21242124
self.assertEqual(xcell_a2.font, openpyxl_sty_merged)
21252125

@@ -2213,11 +2213,18 @@ def test_column_format(self):
22132213
writer.save()
22142214

22152215
read_workbook = openpyxl.load_workbook(path)
2216-
read_worksheet = read_workbook.get_sheet_by_name(name='Sheet1')
2216+
try:
2217+
read_worksheet = read_workbook['Sheet1']
2218+
except TypeError:
2219+
# compat
2220+
read_worksheet = read_workbook.get_sheet_by_name(name='Sheet1')
22172221

2218-
# Get the number format from the cell. This method is backward
2219-
# compatible with older versions of openpyxl.
2220-
cell = read_worksheet.cell('B2')
2222+
# Get the number format from the cell.
2223+
try:
2224+
cell = read_worksheet['B2']
2225+
except TypeError:
2226+
# compat
2227+
cell = read_worksheet.cell('B2')
22212228

22222229
try:
22232230
read_num_format = cell.number_format

0 commit comments

Comments
 (0)