Skip to content

Commit bdf5e7a

Browse files
jbrockmendelKevin D Smith
authored and
Kevin D Smith
committed
De-privatize functions in io.excel (pandas-dev#36104)
1 parent 284abaa commit bdf5e7a

File tree

6 files changed

+21
-29
lines changed

6 files changed

+21
-29
lines changed

pandas/io/excel/_base.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@
2424
validate_header_arg,
2525
)
2626
from pandas.io.excel._util import (
27-
_fill_mi_header,
28-
_get_default_writer,
29-
_maybe_convert_usecols,
30-
_pop_header_name,
27+
fill_mi_header,
28+
get_default_writer,
3129
get_writer,
30+
maybe_convert_usecols,
31+
pop_header_name,
3232
)
3333
from pandas.io.parsers import TextParser
3434

@@ -454,7 +454,7 @@ def parse(
454454
sheet = self.get_sheet_by_index(asheetname)
455455

456456
data = self.get_sheet_data(sheet, convert_float)
457-
usecols = _maybe_convert_usecols(usecols)
457+
usecols = maybe_convert_usecols(usecols)
458458

459459
if not data:
460460
output[asheetname] = DataFrame()
@@ -473,10 +473,10 @@ def parse(
473473
if is_integer(skiprows):
474474
row += skiprows
475475

476-
data[row], control_row = _fill_mi_header(data[row], control_row)
476+
data[row], control_row = fill_mi_header(data[row], control_row)
477477

478478
if index_col is not None:
479-
header_name, _ = _pop_header_name(data[row], index_col)
479+
header_name, _ = pop_header_name(data[row], index_col)
480480
header_names.append(header_name)
481481

482482
if is_list_like(index_col):
@@ -645,7 +645,7 @@ def __new__(cls, path, engine=None, **kwargs):
645645
try:
646646
engine = config.get_option(f"io.excel.{ext}.writer")
647647
if engine == "auto":
648-
engine = _get_default_writer(ext)
648+
engine = get_default_writer(ext)
649649
except KeyError as err:
650650
raise ValueError(f"No engine for filetype: '{ext}'") from err
651651
cls = get_writer(engine)

pandas/io/excel/_odswriter.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import pandas._libs.json as json
66

77
from pandas.io.excel._base import ExcelWriter
8-
from pandas.io.excel._util import _validate_freeze_panes
8+
from pandas.io.excel._util import validate_freeze_panes
99
from pandas.io.formats.excel import ExcelCell
1010

1111

@@ -59,7 +59,7 @@ def write_cells(
5959
wks = Table(name=sheet_name)
6060
self.sheets[sheet_name] = wks
6161

62-
if _validate_freeze_panes(freeze_panes):
62+
if validate_freeze_panes(freeze_panes):
6363
assert freeze_panes is not None
6464
self._create_freeze_panes(sheet_name, freeze_panes)
6565

pandas/io/excel/_openpyxl.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from pandas.compat._optional import import_optional_dependency
77

88
from pandas.io.excel._base import ExcelWriter, _BaseExcelReader
9-
from pandas.io.excel._util import _validate_freeze_panes
9+
from pandas.io.excel._util import validate_freeze_panes
1010

1111
if TYPE_CHECKING:
1212
from openpyxl.descriptors.serialisable import Serialisable
@@ -385,7 +385,7 @@ def write_cells(
385385
wks.title = sheet_name
386386
self.sheets[sheet_name] = wks
387387

388-
if _validate_freeze_panes(freeze_panes):
388+
if validate_freeze_panes(freeze_panes):
389389
wks.freeze_panes = wks.cell(
390390
row=freeze_panes[0] + 1, column=freeze_panes[1] + 1
391391
)

pandas/io/excel/_util.py

+5-13
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def register_writer(klass):
2323
_writers[engine_name] = klass
2424

2525

26-
def _get_default_writer(ext):
26+
def get_default_writer(ext):
2727
"""
2828
Return the default writer for the given extension.
2929
@@ -123,7 +123,7 @@ def _range2cols(areas: str) -> List[int]:
123123
return cols
124124

125125

126-
def _maybe_convert_usecols(usecols):
126+
def maybe_convert_usecols(usecols):
127127
"""
128128
Convert `usecols` into a compatible format for parsing in `parsers.py`.
129129
@@ -152,7 +152,7 @@ def _maybe_convert_usecols(usecols):
152152
return usecols
153153

154154

155-
def _validate_freeze_panes(freeze_panes):
155+
def validate_freeze_panes(freeze_panes):
156156
if freeze_panes is not None:
157157
if len(freeze_panes) == 2 and all(
158158
isinstance(item, int) for item in freeze_panes
@@ -169,15 +169,7 @@ def _validate_freeze_panes(freeze_panes):
169169
return False
170170

171171

172-
def _trim_excel_header(row):
173-
# trim header row so auto-index inference works
174-
# xlrd uses '' , openpyxl None
175-
while len(row) > 0 and (row[0] == "" or row[0] is None):
176-
row = row[1:]
177-
return row
178-
179-
180-
def _fill_mi_header(row, control_row):
172+
def fill_mi_header(row, control_row):
181173
"""
182174
Forward fill blank entries in row but only inside the same parent index.
183175
@@ -210,7 +202,7 @@ def _fill_mi_header(row, control_row):
210202
return row, control_row
211203

212204

213-
def _pop_header_name(row, index_col):
205+
def pop_header_name(row, index_col):
214206
"""
215207
Pop the header name for MultiIndex parsing.
216208

pandas/io/excel/_xlsxwriter.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import pandas._libs.json as json
44

55
from pandas.io.excel._base import ExcelWriter
6-
from pandas.io.excel._util import _validate_freeze_panes
6+
from pandas.io.excel._util import validate_freeze_panes
77

88

99
class _XlsxStyler:
@@ -208,7 +208,7 @@ def write_cells(
208208

209209
style_dict = {"null": None}
210210

211-
if _validate_freeze_panes(freeze_panes):
211+
if validate_freeze_panes(freeze_panes):
212212
wks.freeze_panes(*(freeze_panes))
213213

214214
for cell in cells:

pandas/io/excel/_xlwt.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import pandas._libs.json as json
44

55
from pandas.io.excel._base import ExcelWriter
6-
from pandas.io.excel._util import _validate_freeze_panes
6+
from pandas.io.excel._util import validate_freeze_panes
77

88
if TYPE_CHECKING:
99
from xlwt import XFStyle
@@ -48,7 +48,7 @@ def write_cells(
4848
wks = self.book.add_sheet(sheet_name)
4949
self.sheets[sheet_name] = wks
5050

51-
if _validate_freeze_panes(freeze_panes):
51+
if validate_freeze_panes(freeze_panes):
5252
wks.set_panes_frozen(True)
5353
wks.set_horz_split_pos(freeze_panes[0])
5454
wks.set_vert_split_pos(freeze_panes[1])

0 commit comments

Comments
 (0)