Skip to content

Commit 71cd230

Browse files
gfyoungjreback
authored andcommitted
CLN: Move to_excel to generic.py (#23656)
1 parent 2e1ce1a commit 71cd230

File tree

3 files changed

+27
-38
lines changed

3 files changed

+27
-38
lines changed

pandas/core/frame.py

-18
Original file line numberDiff line numberDiff line change
@@ -1829,24 +1829,6 @@ def to_panel(self):
18291829

18301830
return self._constructor_expanddim(new_mgr)
18311831

1832-
@Appender(_shared_docs['to_excel'] % _shared_doc_kwargs)
1833-
def to_excel(self, excel_writer, sheet_name='Sheet1', na_rep='',
1834-
float_format=None, columns=None, header=True, index=True,
1835-
index_label=None, startrow=0, startcol=0, engine=None,
1836-
merge_cells=True, encoding=None, inf_rep='inf', verbose=True,
1837-
freeze_panes=None):
1838-
1839-
from pandas.io.formats.excel import ExcelFormatter
1840-
formatter = ExcelFormatter(self, na_rep=na_rep, cols=columns,
1841-
header=header,
1842-
float_format=float_format, index=index,
1843-
index_label=index_label,
1844-
merge_cells=merge_cells,
1845-
inf_rep=inf_rep)
1846-
formatter.write(excel_writer, sheet_name=sheet_name, startrow=startrow,
1847-
startcol=startcol, freeze_panes=freeze_panes,
1848-
engine=engine)
1849-
18501832
@deprecate_kwarg(old_arg_name='encoding', new_arg_name=None)
18511833
def to_stata(self, fname, convert_dates=None, write_index=True,
18521834
encoding="latin-1", byteorder=None, time_stamp=None,

pandas/core/generic.py

+27-7
Original file line numberDiff line numberDiff line change
@@ -1977,16 +1977,17 @@ def _repr_latex_(self):
19771977
# I/O Methods
19781978

19791979
_shared_docs['to_excel'] = """
1980-
Write %(klass)s to an excel sheet.
1980+
Write %(klass)s to an Excel sheet.
19811981
1982-
To write a single %(klass)s to an excel .xlsx file it is only necessary to
1982+
To write a single %(klass)s to an Excel .xlsx file it is only necessary to
19831983
specify a target file name. To write to multiple sheets it is necessary to
19841984
create an `ExcelWriter` object with a target file name, and specify a sheet
1985-
in the file to write to. Multiple sheets may be written to by
1986-
specifying unique `sheet_name`. With all data written to the file it is
1987-
necessary to save the changes. Note that creating an ExcelWriter object
1988-
with a file name that already exists will result in the contents of the
1989-
existing file being erased.
1985+
in the file to write to.
1986+
1987+
Multiple sheets may be written to by specifying unique `sheet_name`.
1988+
With all data written to the file it is necessary to save the changes.
1989+
Note that creating an `ExcelWriter` object with a file name that already
1990+
exists will result in the contents of the existing file being erased.
19901991
19911992
Parameters
19921993
----------
@@ -9951,6 +9952,25 @@ def to_csv(self, path_or_buf=None, sep=",", na_rep='', float_format=None,
99519952
if path_or_buf is None:
99529953
return formatter.path_or_buf.getvalue()
99539954

9955+
@Appender(_shared_docs["to_excel"] % dict(klass="object"))
9956+
def to_excel(self, excel_writer, sheet_name="Sheet1", na_rep="",
9957+
float_format=None, columns=None, header=True, index=True,
9958+
index_label=None, startrow=0, startcol=0, engine=None,
9959+
merge_cells=True, encoding=None, inf_rep="inf", verbose=True,
9960+
freeze_panes=None):
9961+
df = self if isinstance(self, ABCDataFrame) else self.to_frame()
9962+
9963+
from pandas.io.formats.excel import ExcelFormatter
9964+
formatter = ExcelFormatter(df, na_rep=na_rep, cols=columns,
9965+
header=header,
9966+
float_format=float_format, index=index,
9967+
index_label=index_label,
9968+
merge_cells=merge_cells,
9969+
inf_rep=inf_rep)
9970+
formatter.write(excel_writer, sheet_name=sheet_name, startrow=startrow,
9971+
startcol=startcol, freeze_panes=freeze_panes,
9972+
engine=engine)
9973+
99549974

99559975
def _doc_parms(cls):
99569976
"""Return a tuple of the doc parms."""

pandas/core/series.py

-13
Original file line numberDiff line numberDiff line change
@@ -3970,19 +3970,6 @@ def to_csv(self, *args, **kwargs):
39703970
kwargs["header"] = False # Backwards compatibility.
39713971
return self.to_frame().to_csv(**kwargs)
39723972

3973-
@Appender(generic._shared_docs['to_excel'] % _shared_doc_kwargs)
3974-
def to_excel(self, excel_writer, sheet_name='Sheet1', na_rep='',
3975-
float_format=None, columns=None, header=True, index=True,
3976-
index_label=None, startrow=0, startcol=0, engine=None,
3977-
merge_cells=True, encoding=None, inf_rep='inf', verbose=True):
3978-
df = self.to_frame()
3979-
df.to_excel(excel_writer=excel_writer, sheet_name=sheet_name,
3980-
na_rep=na_rep, float_format=float_format, columns=columns,
3981-
header=header, index=index, index_label=index_label,
3982-
startrow=startrow, startcol=startcol, engine=engine,
3983-
merge_cells=merge_cells, encoding=encoding,
3984-
inf_rep=inf_rep, verbose=verbose)
3985-
39863973
@Appender(generic._shared_docs['isna'] % _shared_doc_kwargs)
39873974
def isna(self):
39883975
return super(Series, self).isna()

0 commit comments

Comments
 (0)